140218e99:	5f                   	pop    %rdi
140218e9a:	c3                   	ret
140218e9b:	cc                   	int3
140218e9c:	cc                   	int3
140218e9d:	cc                   	int3
140218e9e:	cc                   	int3
140218e9f:	cc                   	int3
140218ea0:	48 83 ec 58          	sub    $0x58,%rsp
140218ea4:	66 0f 7e c0          	movd   %xmm0,%eax
140218ea8:	8b d0                	mov    %eax,%edx
140218eaa:	c1 e8 17             	shr    $0x17,%eax
140218ead:	81 e2 ff ff 7f 00    	and    $0x7fffff,%edx
140218eb3:	44 0f b6 c0          	movzbl %al,%r8d
140218eb7:	84 c0                	test   %al,%al
140218eb9:	74 1d                	je     0x140218ed8
140218ebb:	41 81 c0 6a ff ff ff 	add    $0xffffff6a,%r8d
140218ec2:	85 d2                	test   %edx,%edx
140218ec4:	75 0c                	jne    0x140218ed2
140218ec6:	41 8b c8             	mov    %r8d,%ecx
140218ec9:	48 83 c4 58          	add    $0x58,%rsp
140218ecd:	e9 ee fb ff ff       	jmp    0x140218ac0
140218ed2:	0f ba ea 17          	bts    $0x17,%edx
140218ed6:	eb 15                	jmp    0x140218eed
140218ed8:	85 d2                	test   %edx,%edx
140218eda:	75 0b                	jne    0x140218ee7
140218edc:	45 33 d2             	xor    %r10d,%r10d
140218edf:	41 8b c2             	mov    %r10d,%eax
140218ee2:	48 83 c4 58          	add    $0x58,%rsp
140218ee6:	c3                   	ret
140218ee7:	41 b8 6b ff ff ff    	mov    $0xffffff6b,%r8d
140218eed:	48 89 5c 24 70       	mov    %rbx,0x70(%rsp)
140218ef2:	b9 01 00 00 00       	mov    $0x1,%ecx
140218ef7:	48 89 6c 24 50       	mov    %rbp,0x50(%rsp)
140218efc:	48 89 74 24 48       	mov    %rsi,0x48(%rsp)
140218f01:	48 89 7c 24 40       	mov    %rdi,0x40(%rsp)
140218f06:	0f b6 fa             	movzbl %dl,%edi
140218f09:	4c 89 64 24 38       	mov    %r12,0x38(%rsp)
140218f0e:	40 f6 d7             	not    %dil
140218f11:	4c 89 6c 24 30       	mov    %r13,0x30(%rsp)
140218f16:	40 80 e7 01          	and    $0x1,%dil
140218f1a:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
140218f1f:	4c 8d 2d f2 49 d9 00 	lea    0xd949f2(%rip),%r13        # 0x140fad918
140218f26:	45 69 f0 05 d1 04 00 	imul   $0x4d105,%r8d,%r14d
140218f2d:	41 bc 40 00 00 00    	mov    $0x40,%r12d
140218f33:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
140218f38:	41 bf 20 00 00 00    	mov    $0x20,%r15d
140218f3e:	41 c1 fe 14          	sar    $0x14,%r14d
140218f42:	41 2b ce             	sub    %r14d,%ecx
140218f45:	69 f1 4f 93 1a 00    	imul   $0x1a934f,%ecx,%esi
140218f4b:	48 63 c1             	movslq %ecx,%rax
140218f4e:	b9 3f 00 00 00       	mov    $0x3f,%ecx
140218f53:	4d 8b 6c c5 00       	mov    0x0(%r13,%rax,8),%r13
140218f58:	c1 fe 13             	sar    $0x13,%esi
140218f5b:	49 8b ed             	mov    %r13,%rbp
140218f5e:	41 03 f0             	add    %r8d,%esi
140218f61:	44 8d 04 12          	lea    (%rdx,%rdx,1),%r8d
140218f65:	2b ce                	sub    %esi,%ecx
140218f67:	44 89 44 24 60       	mov    %r8d,0x60(%rsp)
140218f6c:	48 d3 ed             	shr    %cl,%rbp
140218f6f:	41 8b c0             	mov    %r8d,%eax
140218f72:	83 c8 01             	or     $0x1,%eax
140218f75:	8b ce                	mov    %esi,%ecx
140218f77:	d3 e0                	shl    %cl,%eax
140218f79:	8b c8                	mov    %eax,%ecx
140218f7b:	49 8b c5             	mov    %r13,%rax
140218f7e:	48 c1 e1 20          	shl    $0x20,%rcx
140218f82:	48 f7 e1             	mul    %rcx
140218f85:	48 8b c2             	mov    %rdx,%rax
140218f88:	48 c1 e8 20          	shr    $0x20,%rax
140218f8c:	85 d2                	test   %edx,%edx
140218f8e:	89 44 24 68          	mov    %eax,0x68(%rsp)
140218f92:	48 8b d8             	mov    %rax,%rbx
140218f95:	0f 94 44 24 6c       	sete   0x6c(%rsp)
140218f9a:	45 33 d2             	xor    %r10d,%r10d
140218f9d:	4c 69 d8 1f 85 eb 51 	imul   $0x51eb851f,%rax,%r11
140218fa4:	49 c1 eb 25          	shr    $0x25,%r11
140218fa8:	41 6b c3 64          	imul   $0x64,%r11d,%eax
140218fac:	2b d8                	sub    %eax,%ebx
140218fae:	3b dd                	cmp    %ebp,%ebx
140218fb0:	0f 83 c0 00 00 00    	jae    0x140219076
140218fb6:	85 db                	test   %ebx,%ebx
140218fb8:	0f 85 f3 00 00 00    	jne    0x1402190b1
140218fbe:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
140218fc3:	40 80 f7 01          	xor    $0x1,%dil
140218fc7:	48 c1 e8 20          	shr    $0x20,%rax
140218fcb:	40 84 c7             	test   %al,%dil
140218fce:	0f 84 dd 00 00 00    	je     0x1402190b1
140218fd4:	41 ff cb             	dec    %r11d
140218fd7:	bb 64 00 00 00       	mov    $0x64,%ebx
140218fdc:	d1 ed                	shr    $1,%ebp
140218fde:	43 8d 04 9b          	lea    (%r11,%r11,4),%eax
140218fe2:	2b dd                	sub    %ebp,%ebx
140218fe4:	83 c3 05             	add    $0x5,%ebx
140218fe7:	69 d3 9a 19 00 00    	imul   $0x199a,%ebx,%edx
140218fed:	44 0f b6 cb          	movzbl %bl,%r9d
140218ff1:	41 f6 d1             	not    %r9b
140218ff4:	41 80 e1 01          	and    $0x1,%r9b
140218ff8:	8b ca                	mov    %edx,%ecx
140218ffa:	c1 e9 10             	shr    $0x10,%ecx
140218ffd:	44 8d 04 41          	lea    (%rcx,%rax,2),%r8d
140219001:	66 81 fa 9a 19       	cmp    $0x199a,%dx
140219006:	73 34                	jae    0x14021903c
140219008:	8b 44 24 60          	mov    0x60(%rsp),%eax
14021900c:	44 2b fe             	sub    %esi,%r15d
14021900f:	49 0f af c5          	imul   %r13,%rax
140219013:	41 0f b6 cf          	movzbl %r15b,%ecx
140219017:	44 2b e6             	sub    %esi,%r12d
14021901a:	48 8b d0             	mov    %rax,%rdx
14021901d:	48 d3 ea             	shr    %cl,%rdx
140219020:	41 0f b6 cc          	movzbl %r12b,%ecx
140219024:	48 d3 e8             	shr    %cl,%rax
140219027:	24 01                	and    $0x1,%al
140219029:	41 3a c1             	cmp    %r9b,%al
14021902c:	75 0b                	jne    0x140219039
14021902e:	85 d2                	test   %edx,%edx
140219030:	41 0f 94 c2          	sete   %r10b
140219034:	45 85 d0             	test   %r10d,%r8d
140219037:	74 03                	je     0x14021903c
140219039:	41 ff c8             	dec    %r8d
14021903c:	41 8b c6             	mov    %r14d,%eax
14021903f:	48 c1 e0 20          	shl    $0x20,%rax
140219043:	41 8b c8             	mov    %r8d,%ecx
140219046:	48 0b c1             	or     %rcx,%rax
140219049:	4c 8b 74 24 28       	mov    0x28(%rsp),%r14
14021904e:	4c 8b 6c 24 30       	mov    0x30(%rsp),%r13
140219053:	4c 8b 64 24 38       	mov    0x38(%rsp),%r12
140219058:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
14021905d:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140219062:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140219067:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
14021906c:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
140219071:	48 83 c4 58          	add    $0x58,%rsp
140219075:	c3                   	ret
140219076:	0f 87 60 ff ff ff    	ja     0x140218fdc
14021907c:	45 8d 48 ff          	lea    -0x1(%r8),%r9d
140219080:	40 0f b6 c7          	movzbl %dil,%eax
140219084:	4d 0f af cd          	imul   %r13,%r9
140219088:	41 8b cf             	mov    %r15d,%ecx
14021908b:	45 8b c2             	mov    %r10d,%r8d
14021908e:	2b ce                	sub    %esi,%ecx
140219090:	49 8b d1             	mov    %r9,%rdx
140219093:	48 d3 ea             	shr    %cl,%rdx
140219096:	41 8b cc             	mov    %r12d,%ecx
140219099:	85 d2                	test   %edx,%edx
14021909b:	44 0f 44 c0          	cmove  %eax,%r8d
14021909f:	2b ce                	sub    %esi,%ecx
1402190a1:	49 d3 e9             	shr    %cl,%r9
1402190a4:	41 80 e1 01          	and    $0x1,%r9b
1402190a8:	45 0a c1             	or     %r9b,%r8b
1402190ab:	0f 84 2b ff ff ff    	je     0x140218fdc
1402190b1:	41 69 cb 29 5c 8f c2 	imul   $0xc28f5c29,%r11d,%ecx
1402190b8:	8b c1                	mov    %ecx,%eax
1402190ba:	c1 e9 02             	shr    $0x2,%ecx
1402190bd:	c1 e0 1e             	shl    $0x1e,%eax
1402190c0:	0b c1                	or     %ecx,%eax
1402190c2:	3d 28 5c 8f 02       	cmp    $0x28f5c28,%eax
1402190c7:	77 25                	ja     0x1402190ee
1402190c9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1402190d0:	69 c8 29 5c 8f c2    	imul   $0xc28f5c29,%eax,%ecx
1402190d6:	44 8b d8             	mov    %eax,%r11d
1402190d9:	41 83 c2 02          	add    $0x2,%r10d
1402190dd:	8b c1                	mov    %ecx,%eax
1402190df:	c1 e9 02             	shr    $0x2,%ecx
1402190e2:	c1 e0 1e             	shl    $0x1e,%eax
1402190e5:	0b c1                	or     %ecx,%eax
1402190e7:	3d 28 5c 8f 02       	cmp    $0x28f5c28,%eax
1402190ec:	76 e2                	jbe    0x1402190d0
1402190ee:	41 69 c3 cd cc cc cc 	imul   $0xcccccccd,%r11d,%eax
1402190f5:	8b c8                	mov    %eax,%ecx
1402190f7:	d1 e8                	shr    $1,%eax
1402190f9:	c1 e1 1f             	shl    $0x1f,%ecx
1402190fc:	0b c8                	or     %eax,%ecx
1402190fe:	41 8b c2             	mov    %r10d,%eax
140219101:	81 f9 99 99 99 19    	cmp    $0x19999999,%ecx
140219107:	44 0f 46 d9          	cmovbe %ecx,%r11d
14021910b:	83 c8 01             	or     $0x1,%eax
14021910e:	81 f9 99 99 99 19    	cmp    $0x19999999,%ecx
140219114:	44 89 5c 24 68       	mov    %r11d,0x68(%rsp)
140219119:	41 0f 47 c2          	cmova  %r10d,%eax
14021911d:	ff c0                	inc    %eax
14021911f:	41 03 c6             	add    %r14d,%eax
140219122:	89 44 24 6c          	mov    %eax,0x6c(%rsp)
140219126:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
14021912b:	e9 19 ff ff ff       	jmp    0x140219049
140219130:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140219135:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14021913a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14021913f:	57                   	push   %rdi
140219140:	41 54                	push   %r12
140219142:	41 55                	push   %r13
140219144:	41 56                	push   %r14
140219146:	41 57                	push   %r15
140219148:	48 83 ec 70          	sub    $0x70,%rsp
14021914c:	48 8b 05 ad fd 19 01 	mov    0x119fdad(%rip),%rax        # 0x1413b8f00
140219153:	48 33 c4             	xor    %rsp,%rax
140219156:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
14021915b:	66 48 0f 7e c8       	movq   %xmm1,%rax
140219160:	48 8b f9             	mov    %rcx,%rdi
140219163:	48 8b f0             	mov    %rax,%rsi
140219166:	48 b9 ff ff ff ff ff 	movabs $0xfffffffffffff,%rcx
14021916d:	ff 0f 00
140219170:	48 23 f1             	and    %rcx,%rsi
140219173:	48 c1 e8 34          	shr    $0x34,%rax
140219177:	25 ff 07 00 00       	and    $0x7ff,%eax
14021917c:	0f 84 f6 00 00 00    	je     0x140219278
140219182:	8d a8 cd fb ff ff    	lea    -0x433(%rax),%ebp
140219188:	48 85 f6             	test   %rsi,%rsi
14021918b:	0f 85 d8 00 00 00    	jne    0x140219269
140219191:	69 dd 09 a2 09 00    	imul   $0x9a209,%ebp,%ebx
140219197:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14021919c:	81 eb 1f fe 03 00    	sub    $0x3fe1f,%ebx
1402191a2:	c1 fb 15             	sar    $0x15,%ebx
1402191a5:	8b d3                	mov    %ebx,%edx
1402191a7:	f7 da                	neg    %edx
1402191a9:	69 f2 4f 93 1a 00    	imul   $0x1a934f,%edx,%esi
1402191af:	c1 fe 13             	sar    $0x13,%esi
1402191b2:	03 f5                	add    %ebp,%esi
1402191b4:	e8 d7 cc 00 00       	call   0x140225e90
1402191b9:	4c 8b 4c 24 38       	mov    0x38(%rsp),%r9
1402191be:	b9 0b 00 00 00       	mov    $0xb,%ecx
1402191c3:	2b ce                	sub    %esi,%ecx
1402191c5:	49 8b c1             	mov    %r9,%rax
1402191c8:	48 c1 e8 36          	shr    $0x36,%rax
1402191cc:	4d 8b c1             	mov    %r9,%r8
1402191cf:	4c 2b c0             	sub    %rax,%r8
1402191d2:	49 8b d1             	mov    %r9,%rdx
1402191d5:	48 c1 ea 35          	shr    $0x35,%rdx
1402191d9:	8d 45 fe             	lea    -0x2(%rbp),%eax
1402191dc:	49 03 d1             	add    %r9,%rdx
1402191df:	49 d3 e8             	shr    %cl,%r8
1402191e2:	48 d3 ea             	shr    %cl,%rdx
1402191e5:	83 f8 01             	cmp    $0x1,%eax
1402191e8:	48 b8 cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rax
1402191ef:	cc cc cc
1402191f2:	4d 8d 50 01          	lea    0x1(%r8),%r10
1402191f6:	4d 0f 46 d0          	cmovbe %r8,%r10
1402191fa:	48 f7 e2             	mul    %rdx
1402191fd:	48 c1 ea 03          	shr    $0x3,%rdx
140219201:	48 89 17             	mov    %rdx,(%rdi)
140219204:	48 8d 04 92          	lea    (%rdx,%rdx,4),%rax
140219208:	48 03 c0             	add    %rax,%rax
14021920b:	49 3b c2             	cmp    %r10,%rax
14021920e:	72 16                	jb     0x140219226
140219210:	8d 43 01             	lea    0x1(%rbx),%eax
140219213:	48 8b cf             	mov    %rdi,%rcx
140219216:	89 47 08             	mov    %eax,0x8(%rdi)
140219219:	e8 d2 d8 00 00       	call   0x140226af0
14021921e:	01 47 08             	add    %eax,0x8(%rdi)
140219221:	e9 b6 01 00 00       	jmp    0x1402193dc
140219226:	b9 0a 00 00 00       	mov    $0xa,%ecx
14021922b:	89 5f 08             	mov    %ebx,0x8(%rdi)
14021922e:	2b ce                	sub    %esi,%ecx
140219230:	8d 45 4d             	lea    0x4d(%rbp),%eax
140219233:	49 d3 e9             	shr    %cl,%r9
140219236:	49 ff c1             	inc    %r9
140219239:	49 d1 e9             	shr    $1,%r9
14021923c:	4c 89 0f             	mov    %r9,(%rdi)
14021923f:	85 c0                	test   %eax,%eax
140219241:	75 14                	jne    0x140219257
140219243:	41 f6 c1 01          	test   $0x1,%r9b
140219247:	49 8d 41 ff          	lea    -0x1(%r9),%rax
14021924b:	4c 0f 45 c8          	cmovne %rax,%r9
14021924f:	4c 89 0f             	mov    %r9,(%rdi)
140219252:	e9 85 01 00 00       	jmp    0x1402193dc
140219257:	4d 3b ca             	cmp    %r10,%r9
14021925a:	0f 83 7c 01 00 00    	jae    0x1402193dc
140219260:	49 8d 41 01          	lea    0x1(%r9),%rax
140219264:	e9 70 01 00 00       	jmp    0x1402193d9
140219269:	48 b8 00 00 00 00 00 	movabs $0x10000000000000,%rax
140219270:	00 10 00
140219273:	48 0b f0             	or     %rax,%rsi
140219276:	eb 19                	jmp    0x140219291
140219278:	48 85 f6             	test   %rsi,%rsi
14021927b:	75 0f                	jne    0x14021928c
14021927d:	45 33 db             	xor    %r11d,%r11d
140219280:	4c 89 1f             	mov    %r11,(%rdi)
140219283:	44 89 5f 08          	mov    %r11d,0x8(%rdi)
140219287:	e9 50 01 00 00       	jmp    0x1402193dc
14021928c:	bd ce fb ff ff       	mov    $0xfffffbce,%ebp
140219291:	40 0f b6 c6          	movzbl %sil,%eax
140219295:	44 69 ed 05 d1 04 00 	imul   $0x4d105,%ebp,%r13d
14021929c:	f6 d0                	not    %al
14021929e:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1402192a3:	bb 02 00 00 00       	mov    $0x2,%ebx
1402192a8:	88 44 24 20          	mov    %al,0x20(%rsp)
1402192ac:	41 c1 fd 14          	sar    $0x14,%r13d
1402192b0:	41 2b dd             	sub    %r13d,%ebx
1402192b3:	8b d3                	mov    %ebx,%edx
1402192b5:	e8 d6 cb 00 00       	call   0x140225e90
1402192ba:	44 69 e3 4f 93 1a 00 	imul   $0x1a934f,%ebx,%r12d
1402192c1:	4c 8d 0c 36          	lea    (%rsi,%rsi,1),%r9
1402192c5:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1402192ca:	45 33 db             	xor    %r11d,%r11d
1402192cd:	b9 3f 00 00 00       	mov    $0x3f,%ecx
1402192d2:	4c 89 4c 24 28       	mov    %r9,0x28(%rsp)
1402192d7:	4d 8b c1             	mov    %r9,%r8
1402192da:	48 8b c3             	mov    %rbx,%rax
1402192dd:	49 83 c8 01          	or     $0x1,%r8
1402192e1:	41 bf 40 00 00 00    	mov    $0x40,%r15d
1402192e7:	41 c1 fc 13          	sar    $0x13,%r12d
1402192eb:	44 03 e5             	add    %ebp,%r12d
1402192ee:	48 8b eb             	mov    %rbx,%rbp
1402192f1:	41 2b cc             	sub    %r12d,%ecx
1402192f4:	48 d3 ed             	shr    %cl,%rbp
1402192f7:	41 8b cc             	mov    %r12d,%ecx
1402192fa:	49 d3 e0             	shl    %cl,%r8
1402192fd:	49 f7 e0             	mul    %r8
140219300:	48 8b c8             	mov    %rax,%rcx
140219303:	4c 8b d2             	mov    %rdx,%r10
140219306:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
14021930b:	49 f7 e0             	mul    %r8
14021930e:	48 b8 cf f7 53 e3 a5 	movabs $0x20c49ba5e353f7cf,%rax
140219315:	9b c4 20
140219318:	48 03 ca             	add    %rdx,%rcx
14021931b:	4d 13 d3             	adc    %r11,%r10
14021931e:	48 85 c9             	test   %rcx,%rcx
140219321:	0f 94 c1             	sete   %cl
140219324:	49 f7 e2             	mul    %r10
140219327:	4c 8b f2             	mov    %rdx,%r14
14021932a:	49 c1 ee 07          	shr    $0x7,%r14
14021932e:	41 69 c6 e8 03 00 00 	imul   $0x3e8,%r14d,%eax
140219335:	4c 89 37             	mov    %r14,(%rdi)
140219338:	44 2b d0             	sub    %eax,%r10d
14021933b:	44 3b d5             	cmp    %ebp,%r10d
14021933e:	0f 83 c6 00 00 00    	jae    0x14021940a
140219344:	45 85 d2             	test   %r10d,%r10d
140219347:	0f 85 0b 01 00 00    	jne    0x140219458
14021934d:	40 84 f1             	test   %sil,%cl
140219350:	0f 84 02 01 00 00    	je     0x140219458
140219356:	41 ba e8 03 00 00    	mov    $0x3e8,%r10d
14021935c:	49 ff ce             	dec    %r14
14021935f:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140219364:	d1 ed                	shr    $1,%ebp
140219366:	4b 8d 04 b6          	lea    (%r14,%r14,4),%rax
14021936a:	44 2b d5             	sub    %ebp,%r10d
14021936d:	44 89 6f 08          	mov    %r13d,0x8(%rdi)
140219371:	41 83 c2 32          	add    $0x32,%r10d
140219375:	41 69 d2 90 02 00 00 	imul   $0x290,%r10d,%edx
14021937c:	45 0f b6 ca          	movzbl %r10b,%r9d
140219380:	41 80 e1 01          	and    $0x1,%r9b
140219384:	8b ca                	mov    %edx,%ecx
140219386:	48 c1 e9 10          	shr    $0x10,%rcx
14021938a:	4c 8d 04 41          	lea    (%rcx,%rax,2),%r8
14021938e:	4c 89 07             	mov    %r8,(%rdi)
140219391:	66 81 fa 90 02       	cmp    $0x290,%dx
140219396:	73 44                	jae    0x1402193dc
140219398:	48 0f af 5c 24 28    	imul   0x28(%rsp),%rbx
14021939e:	41 8b cc             	mov    %r12d,%ecx
1402193a1:	45 2b fc             	sub    %r12d,%r15d
1402193a4:	48 8b c6             	mov    %rsi,%rax