14019ed5f:	48 81 ec 00 01 00 00 	sub    $0x100,%rsp
14019ed66:	48 8b 05 03 c5 10 00 	mov    0x10c503(%rip),%rax        # 0x1402ab270
14019ed6d:	48 33 c4             	xor    %rsp,%rax
14019ed70:	48 89 84 24 f0 00 00 	mov    %rax,0xf0(%rsp)
14019ed77:	00
14019ed78:	33 db                	xor    %ebx,%ebx
14019ed7a:	48 8b f1             	mov    %rcx,%rsi
14019ed7d:	48 85 c9             	test   %rcx,%rcx
14019ed80:	75 14                	jne    0x14019ed96
14019ed82:	e8 85 11 ff ff       	call   0x14018ff0c
14019ed87:	8d 5e 16             	lea    0x16(%rsi),%ebx
14019ed8a:	89 18                	mov    %ebx,(%rax)
14019ed8c:	e8 d3 c7 fe ff       	call   0x14018b564
14019ed91:	e9 1e 01 00 00       	jmp    0x14019eeb4
14019ed96:	e8 41 c4 00 00       	call   0x1401ab1dc
14019ed9b:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14019eda0:	89 5c 24 30          	mov    %ebx,0x30(%rsp)
14019eda4:	e8 47 b7 00 00       	call   0x1401aa4f0
14019eda9:	85 c0                	test   %eax,%eax
14019edab:	0f 85 2a 01 00 00    	jne    0x14019eedb
14019edb1:	b8 89 88 88 88       	mov    $0x88888889,%eax
14019edb6:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
14019edbb:	f7 6c 24 30          	imull  0x30(%rsp)
14019edbf:	03 54 24 30          	add    0x30(%rsp),%edx
14019edc3:	c1 fa 05             	sar    $0x5,%edx
14019edc6:	8b c2                	mov    %edx,%eax
14019edc8:	c1 e8 1f             	shr    $0x1f,%eax
14019edcb:	03 d0                	add    %eax,%edx
14019edcd:	66 89 56 0a          	mov    %dx,0xa(%rsi)
14019edd1:	e8 72 87 00 00       	call   0x1401a7548
14019edd6:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
14019eddb:	48 b8 a7 be d7 05 c2 	movabs $0xe5109ec205d7bea7,%rax
14019ede2:	9e 10 e5
14019ede5:	48 f7 e1             	mul    %rcx
14019ede8:	48 8b fa             	mov    %rdx,%rdi
14019edeb:	48 c1 ef 1d          	shr    $0x1d,%rdi
14019edef:	3b 3d 3f e5 17 00    	cmp    0x17e53f(%rip),%edi        # 0x14031d334
14019edf5:	74 4f                	je     0x14019ee46
14019edf7:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14019edfc:	ff 15 de f3 05 00    	call   *0x5f3de(%rip)        # 0x1401fe1e0
14019ee02:	83 f8 ff             	cmp    $0xffffffff,%eax
14019ee05:	75 05                	jne    0x14019ee0c
14019ee07:	83 c8 ff             	or     $0xffffffff,%eax
14019ee0a:	eb 1d                	jmp    0x14019ee29
14019ee0c:	83 f8 02             	cmp    $0x2,%eax
14019ee0f:	75 20                	jne    0x14019ee31
14019ee11:	66 39 9c 24 da 00 00 	cmp    %bx,0xda(%rsp)
14019ee18:	00
14019ee19:	74 16                	je     0x14019ee31
14019ee1b:	39 9c 24 e8 00 00 00 	cmp    %ebx,0xe8(%rsp)
14019ee22:	74 0d                	je     0x14019ee31
14019ee24:	b8 01 00 00 00       	mov    $0x1,%eax
14019ee29:	89 05 71 c6 10 00    	mov    %eax,0x10c671(%rip)        # 0x1402ab4a0
14019ee2f:	eb 08                	jmp    0x14019ee39
14019ee31:	8b c3                	mov    %ebx,%eax
14019ee33:	89 1d 67 c6 10 00    	mov    %ebx,0x10c667(%rip)        # 0x1402ab4a0
14019ee39:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
14019ee3e:	89 3d f0 e4 17 00    	mov    %edi,0x17e4f0(%rip)        # 0x14031d334
14019ee44:	eb 06                	jmp    0x14019ee4c
14019ee46:	8b 05 54 c6 10 00    	mov    0x10c654(%rip),%eax        # 0x1402ab4a0
14019ee4c:	66 89 46 0c          	mov    %ax,0xc(%rsi)
14019ee50:	48 b8 4b 59 86 38 d6 	movabs $0x346dc5d63886594b,%rax
14019ee57:	c5 6d 34
14019ee5a:	48 f7 e1             	mul    %rcx
14019ee5d:	48 b8 77 be 9f 1a 2f 	movabs $0x624dd2f1a9fbe77,%rax
14019ee64:	dd 24 06
14019ee67:	4c 8b ca             	mov    %rdx,%r9
14019ee6a:	49 c1 e9 0b          	shr    $0xb,%r9
14019ee6e:	49 f7 e1             	mul    %r9
14019ee71:	49 8b c1             	mov    %r9,%rax
14019ee74:	48 2b c2             	sub    %rdx,%rax
14019ee77:	48 d1 e8             	shr    $1,%rax
14019ee7a:	48 03 c2             	add    %rdx,%rax
14019ee7d:	48 ba 00 80 c1 2a 21 	movabs $0xfe624e212ac18000,%rdx
14019ee84:	4e 62 fe
14019ee87:	48 c1 e8 09          	shr    $0x9,%rax
14019ee8b:	48 03 d1             	add    %rcx,%rdx
14019ee8e:	4c 69 c0 e8 03 00 00 	imul   $0x3e8,%rax,%r8
14019ee95:	48 b8 bd 42 7a e5 d5 	movabs $0xd6bf94d5e57a42bd,%rax
14019ee9c:	94 bf d6
14019ee9f:	4d 2b c8             	sub    %r8,%r9
14019eea2:	48 f7 e2             	mul    %rdx
14019eea5:	66 44 89 4e 08       	mov    %r9w,0x8(%rsi)
14019eeaa:	48 c1 ea 17          	shr    $0x17,%rdx
14019eeae:	48 63 ca             	movslq %edx,%rcx
14019eeb1:	48 89 0e             	mov    %rcx,(%rsi)
14019eeb4:	8b c3                	mov    %ebx,%eax
14019eeb6:	48 8b 8c 24 f0 00 00 	mov    0xf0(%rsp),%rcx
14019eebd:	00
14019eebe:	48 33 cc             	xor    %rsp,%rcx
14019eec1:	e8 0a 74 fe ff       	call   0x1401862d0
14019eec6:	4c 8d 9c 24 00 01 00 	lea    0x100(%rsp),%r11
14019eecd:	00
14019eece:	49 8b 5b 18          	mov    0x18(%r11),%rbx
14019eed2:	49 8b 73 20          	mov    0x20(%r11),%rsi
14019eed6:	49 8b e3             	mov    %r11,%rsp
14019eed9:	5f                   	pop    %rdi
14019eeda:	c3                   	ret
14019eedb:	45 33 c9             	xor    %r9d,%r9d
14019eede:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14019eee3:	45 33 c0             	xor    %r8d,%r8d
14019eee6:	33 d2                	xor    %edx,%edx
14019eee8:	33 c9                	xor    %ecx,%ecx
14019eeea:	e8 c5 c6 fe ff       	call   0x14018b5b4
14019eeef:	cc                   	int3
14019eef0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14019eef5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14019eefa:	57                   	push   %rdi
14019eefb:	48 83 ec 20          	sub    $0x20,%rsp
14019eeff:	48 8b f1             	mov    %rcx,%rsi
14019ef02:	e8 49 44 00 00       	call   0x1401a3350
14019ef07:	48 8b d8             	mov    %rax,%rbx
14019ef0a:	48 85 c0             	test   %rax,%rax
14019ef0d:	74 57                	je     0x14019ef66
14019ef0f:	48 85 f6             	test   %rsi,%rsi
14019ef12:	74 52                	je     0x14019ef66
14019ef14:	48 83 cf ff          	or     $0xffffffffffffffff,%rdi
14019ef18:	48 ff c7             	inc    %rdi
14019ef1b:	80 3c 3e 00          	cmpb   $0x0,(%rsi,%rdi,1)
14019ef1f:	75 f7                	jne    0x14019ef18
14019ef21:	48 83 38 00          	cmpq   $0x0,(%rax)
14019ef25:	74 3f                	je     0x14019ef66
14019ef27:	48 8b 0b             	mov    (%rbx),%rcx
14019ef2a:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
14019ef2e:	48 ff c0             	inc    %rax
14019ef31:	80 3c 01 00          	cmpb   $0x0,(%rcx,%rax,1)
14019ef35:	75 f7                	jne    0x14019ef2e
14019ef37:	48 3b c7             	cmp    %rdi,%rax
14019ef3a:	76 15                	jbe    0x14019ef51
14019ef3c:	80 3c 39 3d          	cmpb   $0x3d,(%rcx,%rdi,1)
14019ef40:	75 0f                	jne    0x14019ef51
14019ef42:	4c 8b c7             	mov    %rdi,%r8
14019ef45:	48 8b d6             	mov    %rsi,%rdx
14019ef48:	e8 87 e1 00 00       	call   0x1401ad0d4
14019ef4d:	85 c0                	test   %eax,%eax
14019ef4f:	74 0a                	je     0x14019ef5b
14019ef51:	48 83 c3 08          	add    $0x8,%rbx
14019ef55:	48 83 3b 00          	cmpq   $0x0,(%rbx)
14019ef59:	eb ca                	jmp    0x14019ef25
14019ef5b:	48 8b 03             	mov    (%rbx),%rax
14019ef5e:	48 ff c0             	inc    %rax
14019ef61:	48 03 c7             	add    %rdi,%rax
14019ef64:	eb 02                	jmp    0x14019ef68
14019ef66:	33 c0                	xor    %eax,%eax
14019ef68:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14019ef6d:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14019ef72:	48 83 c4 20          	add    $0x20,%rsp
14019ef76:	5f                   	pop    %rdi
14019ef77:	c3                   	ret
14019ef78:	48 8b c4             	mov    %rsp,%rax
14019ef7b:	48 89 58 08          	mov    %rbx,0x8(%rax)
14019ef7f:	48 89 70 10          	mov    %rsi,0x10(%rax)
14019ef83:	48 89 78 18          	mov    %rdi,0x18(%rax)
14019ef87:	4c 89 70 20          	mov    %r14,0x20(%rax)
14019ef8b:	41 57                	push   %r15
14019ef8d:	48 83 ec 30          	sub    $0x30,%rsp
14019ef91:	4d 8b f9             	mov    %r9,%r15
14019ef94:	49 8b f0             	mov    %r8,%rsi
14019ef97:	48 8b fa             	mov    %rdx,%rdi
14019ef9a:	4c 8b f1             	mov    %rcx,%r14
14019ef9d:	b9 0b 00 00 00       	mov    $0xb,%ecx
14019efa2:	e8 a1 04 00 00       	call   0x14019f448
14019efa7:	90                   	nop
14019efa8:	33 db                	xor    %ebx,%ebx
14019efaa:	8b c3                	mov    %ebx,%eax
14019efac:	4d 85 f6             	test   %r14,%r14
14019efaf:	0f 95 c0             	setne  %al
14019efb2:	85 c0                	test   %eax,%eax
14019efb4:	75 13                	jne    0x14019efc9
14019efb6:	e8 51 0f ff ff       	call   0x14018ff0c
14019efbb:	bb 16 00 00 00       	mov    $0x16,%ebx
14019efc0:	89 18                	mov    %ebx,(%rax)
14019efc2:	e8 9d c5 fe ff       	call   0x14018b564
14019efc7:	eb 6e                	jmp    0x14019f037
14019efc9:	49 89 1e             	mov    %rbx,(%r14)
14019efcc:	48 85 ff             	test   %rdi,%rdi
14019efcf:	74 0a                	je     0x14019efdb
14019efd1:	48 85 f6             	test   %rsi,%rsi
14019efd4:	75 0a                	jne    0x14019efe0
14019efd6:	48 85 ff             	test   %rdi,%rdi
14019efd9:	75 0c                	jne    0x14019efe7
14019efdb:	48 85 f6             	test   %rsi,%rsi
14019efde:	75 07                	jne    0x14019efe7
14019efe0:	b8 01 00 00 00       	mov    $0x1,%eax
14019efe5:	eb 02                	jmp    0x14019efe9
14019efe7:	8b c3                	mov    %ebx,%eax
14019efe9:	85 c0                	test   %eax,%eax
14019efeb:	74 c9                	je     0x14019efb6
14019efed:	48 85 ff             	test   %rdi,%rdi
14019eff0:	74 02                	je     0x14019eff4
14019eff2:	88 1f                	mov    %bl,(%rdi)
14019eff4:	49 8b cf             	mov    %r15,%rcx
14019eff7:	e8 f4 fe ff ff       	call   0x14019eef0
14019effc:	4c 8b c0             	mov    %rax,%r8
14019efff:	48 85 c0             	test   %rax,%rax
14019f002:	74 33                	je     0x14019f037
14019f004:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
14019f008:	48 ff c0             	inc    %rax
14019f00b:	41 38 1c 00          	cmp    %bl,(%r8,%rax,1)
14019f00f:	75 f7                	jne    0x14019f008
14019f011:	48 ff c0             	inc    %rax
14019f014:	49 89 06             	mov    %rax,(%r14)
14019f017:	48 85 f6             	test   %rsi,%rsi
14019f01a:	74 1b                	je     0x14019f037
14019f01c:	48 3b c6             	cmp    %rsi,%rax
14019f01f:	76 07                	jbe    0x14019f028
14019f021:	bb 22 00 00 00       	mov    $0x22,%ebx
14019f026:	eb 0f                	jmp    0x14019f037
14019f028:	48 8b d6             	mov    %rsi,%rdx
14019f02b:	48 8b cf             	mov    %rdi,%rcx
14019f02e:	e8 bd 5f 00 00       	call   0x1401a4ff0
14019f033:	85 c0                	test   %eax,%eax
14019f035:	75 0e                	jne    0x14019f045
14019f037:	b9 0b 00 00 00       	mov    $0xb,%ecx
14019f03c:	e8 5b 04 00 00       	call   0x14019f49c
14019f041:	8b c3                	mov    %ebx,%eax
14019f043:	eb 15                	jmp    0x14019f05a
14019f045:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14019f04a:	45 33 c9             	xor    %r9d,%r9d
14019f04d:	45 33 c0             	xor    %r8d,%r8d
14019f050:	33 d2                	xor    %edx,%edx
14019f052:	33 c9                	xor    %ecx,%ecx
14019f054:	e8 5b c5 fe ff       	call   0x14018b5b4
14019f059:	90                   	nop
14019f05a:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14019f05f:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14019f064:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
14019f069:	4c 8b 74 24 58       	mov    0x58(%rsp),%r14
14019f06e:	48 83 c4 30          	add    $0x30,%rsp
14019f072:	41 5f                	pop    %r15
14019f074:	c3                   	ret
14019f075:	cc                   	int3
14019f076:	cc                   	int3
14019f077:	cc                   	int3
14019f078:	e9 fb fe ff ff       	jmp    0x14019ef78
14019f07d:	cc                   	int3
14019f07e:	cc                   	int3
14019f07f:	cc                   	int3
14019f080:	48 b9 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rcx
14019f087:	ff ff 7f
14019f08a:	f2 0f 11 44 24 08    	movsd  %xmm0,0x8(%rsp)
14019f090:	4c 8b 44 24 08       	mov    0x8(%rsp),%r8
14019f095:	0f 28 c8             	movaps %xmm0,%xmm1
14019f098:	49 8b c0             	mov    %r8,%rax
14019f09b:	48 23 c1             	and    %rcx,%rax
14019f09e:	48 b9 00 00 00 00 00 	movabs $0x4340000000000000,%rcx
14019f0a5:	00 40 43
14019f0a8:	48 3b c1             	cmp    %rcx,%rax
14019f0ab:	72 35                	jb     0x14019f0e2
14019f0ad:	48 b9 00 00 00 00 00 	movabs $0x7ff0000000000000,%rcx
14019f0b4:	00 f0 7f
14019f0b7:	f2 0f 11 02          	movsd  %xmm0,(%rdx)
14019f0bb:	48 3b c1             	cmp    %rcx,%rax
14019f0be:	76 09                	jbe    0x14019f0c9
14019f0c0:	f2 0f 58 c9          	addsd  %xmm1,%xmm1
14019f0c4:	e9 92 00 00 00       	jmp    0x14019f15b
14019f0c9:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
14019f0d0:	00 00 80
14019f0d3:	4c 23 c0             	and    %rax,%r8
14019f0d6:	4c 89 44 24 08       	mov    %r8,0x8(%rsp)
14019f0db:	f2 0f 10 44 24 08    	movsd  0x8(%rsp),%xmm0
14019f0e1:	c3                   	ret
14019f0e2:	48 b9 00 00 00 00 00 	movabs $0x3ff0000000000000,%rcx
14019f0e9:	00 f0 3f
14019f0ec:	48 3b c1             	cmp    %rcx,%rax
14019f0ef:	73 1e                	jae    0x14019f10f
14019f0f1:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
14019f0f8:	00 00 80
14019f0fb:	4c 23 c0             	and    %rax,%r8
14019f0fe:	4c 89 44 24 08       	mov    %r8,0x8(%rsp)
14019f103:	f2 0f 10 44 24 08    	movsd  0x8(%rsp),%xmm0
14019f109:	f2 0f 11 02          	movsd  %xmm0,(%rdx)
14019f10d:	eb 4c                	jmp    0x14019f15b
14019f10f:	49 8b c0             	mov    %r8,%rax
14019f112:	b9 33 00 00 00       	mov    $0x33,%ecx
14019f117:	48 c1 e8 34          	shr    $0x34,%rax
14019f11b:	2a c8                	sub    %al,%cl
14019f11d:	b8 01 00 00 00       	mov    $0x1,%eax
14019f122:	48 d3 e0             	shl    %cl,%rax
14019f125:	48 ff c8             	dec    %rax
14019f128:	48 f7 d0             	not    %rax
14019f12b:	49 23 c0             	and    %r8,%rax
14019f12e:	48 89 44 24 08       	mov    %rax,0x8(%rsp)
14019f133:	f2 0f 10 54 24 08    	movsd  0x8(%rsp),%xmm2
14019f139:	66 0f 2e c2          	ucomisd %xmm2,%xmm0
14019f13d:	f2 0f 11 12          	movsd  %xmm2,(%rdx)
14019f141:	7a 14                	jp     0x14019f157
14019f143:	75 12                	jne    0x14019f157
14019f145:	0f 57 c0             	xorps  %xmm0,%xmm0
14019f148:	66 0f 2f c1          	comisd %xmm1,%xmm0
14019f14c:	76 09                	jbe    0x14019f157
14019f14e:	f2 0f 10 05 32 2c 08 	movsd  0x82c32(%rip),%xmm0        # 0x140221d88
14019f155:	00
14019f156:	c3                   	ret
14019f157:	f2 0f 5c ca          	subsd  %xmm2,%xmm1
14019f15b:	0f 28 c1             	movaps %xmm1,%xmm0
14019f15e:	c3                   	ret
14019f15f:	cc                   	int3
14019f160:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
14019f167:	ff ff 7f
14019f16a:	f2 0f 11 44 24 08    	movsd  %xmm0,0x8(%rsp)
14019f170:	48 8b 4c 24 08       	mov    0x8(%rsp),%rcx
14019f175:	48 ba 00 00 00 00 00 	movabs $0x7ff0000000000000,%rdx
14019f17c:	00 f0 7f
14019f17f:	48 23 c8             	and    %rax,%rcx
14019f182:	33 c0                	xor    %eax,%eax
14019f184:	48 3b ca             	cmp    %rdx,%rcx
14019f187:	0f 97 c0             	seta   %al
14019f18a:	c3                   	ret
14019f18b:	cc                   	int3
14019f18c:	48 b9 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rcx
14019f193:	ff ff 7f
14019f196:	f2 0f 11 44 24 08    	movsd  %xmm0,0x8(%rsp)
14019f19c:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
14019f1a1:	48 23 c1             	and    %rcx,%rax
14019f1a4:	48 b9 00 00 00 00 00 	movabs $0x7ff0000000000000,%rcx
14019f1ab:	00 f0 7f
14019f1ae:	48 2b c1             	sub    %rcx,%rax
14019f1b1:	48 c1 e8 3f          	shr    $0x3f,%rax
14019f1b5:	c3                   	ret
14019f1b6:	cc                   	int3
14019f1b7:	cc                   	int3
14019f1b8:	66 89 4c 24 08       	mov    %cx,0x8(%rsp)
14019f1bd:	55                   	push   %rbp
14019f1be:	48 8b ec             	mov    %rsp,%rbp
14019f1c1:	48 83 ec 50          	sub    $0x50,%rsp
14019f1c5:	b8 ff ff 00 00       	mov    $0xffff,%eax
14019f1ca:	66 3b c8             	cmp    %ax,%cx
14019f1cd:	0f 84 a3 00 00 00    	je     0x14019f276
14019f1d3:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
14019f1d7:	e8 c4 ca fe ff       	call   0x14018bca0
14019f1dc:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
14019f1e0:	4c 8b 90 38 01 00 00 	mov    0x138(%rax),%r10
14019f1e7:	4d 85 d2             	test   %r10,%r10
14019f1ea:	75 13                	jne    0x14019f1ff
14019f1ec:	0f b7 55 10          	movzwl 0x10(%rbp),%edx
14019f1f0:	8d 42 bf             	lea    -0x41(%rdx),%eax
14019f1f3:	66 83 f8 19          	cmp    $0x19,%ax
14019f1f7:	77 69                	ja     0x14019f262
14019f1f9:	66 83 c2 20          	add    $0x20,%dx
14019f1fd:	eb 63                	jmp    0x14019f262
14019f1ff:	0f b7 4d 10          	movzwl 0x10(%rbp),%ecx
14019f203:	ba 00 01 00 00       	mov    $0x100,%edx
14019f208:	66 3b ca             	cmp    %dx,%cx
14019f20b:	73 29                	jae    0x14019f236
14019f20d:	ba 01 00 00 00       	mov    $0x1,%edx
14019f212:	e8 35 b1 00 00       	call   0x1401aa34c
14019f217:	85 c0                	test   %eax,%eax
14019f219:	75 06                	jne    0x14019f221
14019f21b:	0f b7 55 10          	movzwl 0x10(%rbp),%edx