140808e89:	48 2b cb             	sub    %rbx,%rcx
140808e8c:	48 f7 e9             	imul   %rcx
140808e8f:	48 c1 fa 03          	sar    $0x3,%rdx
140808e93:	48 8b c2             	mov    %rdx,%rax
140808e96:	48 c1 e8 3f          	shr    $0x3f,%rax
140808e9a:	48 03 d0             	add    %rax,%rdx
140808e9d:	4f 8d 3c 64          	lea    (%r12,%r12,2),%r15
140808ea1:	49 c1 e7 04          	shl    $0x4,%r15
140808ea5:	4d 8b cd             	mov    %r13,%r9
140808ea8:	4c 3b e2             	cmp    %rdx,%r12
140808eab:	49 8b d6             	mov    %r14,%rdx
140808eae:	0f 83 b5 00 00 00    	jae    0x140808f69
140808eb4:	49 8b f6             	mov    %r14,%rsi
140808eb7:	49 2b f7             	sub    %r15,%rsi
140808eba:	4d 8b c6             	mov    %r14,%r8
140808ebd:	48 8b ce             	mov    %rsi,%rcx
140808ec0:	e8 8b 04 00 00       	call   0x140809350
140808ec5:	48 89 07             	mov    %rax,(%rdi)
140808ec8:	48 3b f3             	cmp    %rbx,%rsi
140808ecb:	74 66                	je     0x140808f33
140808ecd:	49 8d 7e 28          	lea    0x28(%r14),%rdi
140808ed1:	49 c7 c6 e0 ff ff ff 	mov    $0xffffffffffffffe0,%r14
140808ed8:	4d 2b f7             	sub    %r15,%r14
140808edb:	41 bc 01 00 00 00    	mov    $0x1,%r12d
140808ee1:	4d 2b e7             	sub    %r15,%r12
140808ee4:	0f 1f 40 00          	nopl   0x0(%rax)
140808ee8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140808eef:	00
140808ef0:	48 83 ee 30          	sub    $0x30,%rsi
140808ef4:	48 83 ef 30          	sub    $0x30,%rdi
140808ef8:	48 8b 4f d8          	mov    -0x28(%rdi),%rcx
140808efc:	48 8b 06             	mov    (%rsi),%rax
140808eff:	48 89 47 d8          	mov    %rax,-0x28(%rdi)
140808f03:	48 89 0e             	mov    %rcx,(%rsi)
140808f06:	49 8d 14 3e          	lea    (%r14,%rdi,1),%rdx
140808f0a:	48 8d 4f e0          	lea    -0x20(%rdi),%rcx
140808f0e:	e8 0d 58 99 ff       	call   0x14019e720
140808f13:	48 8b c7             	mov    %rdi,%rax
140808f16:	49 2b c7             	sub    %r15,%rax
140808f19:	0f b6 00             	movzbl (%rax),%eax
140808f1c:	88 07                	mov    %al,(%rdi)
140808f1e:	41 0f b6 04 3c       	movzbl (%r12,%rdi,1),%eax
140808f23:	88 47 01             	mov    %al,0x1(%rdi)
140808f26:	48 3b f3             	cmp    %rbx,%rsi
140808f29:	75 c5                	jne    0x140808ef0
140808f2b:	4c 8b a4 24 a8 00 00 	mov    0xa8(%rsp),%r12
140808f32:	00
140808f33:	48 8b fb             	mov    %rbx,%rdi
140808f36:	49 8d 34 1f          	lea    (%r15,%rbx,1),%rsi
140808f3a:	48 3b de             	cmp    %rsi,%rbx
140808f3d:	74 12                	je     0x140808f51
140808f3f:	90                   	nop
140808f40:	48 8b cf             	mov    %rdi,%rcx
140808f43:	e8 d8 12 00 00       	call   0x14080a220
140808f48:	48 83 c7 30          	add    $0x30,%rdi
140808f4c:	48 3b fe             	cmp    %rsi,%rdi
140808f4f:	75 ef                	jne    0x140808f40
140808f51:	4d 8b cd             	mov    %r13,%r9
140808f54:	4c 8b c3             	mov    %rbx,%r8
140808f57:	49 8b d4             	mov    %r12,%rdx
140808f5a:	48 8b 8c 24 a0 00 00 	mov    0xa0(%rsp),%rcx
140808f61:	00
140808f62:	e8 79 03 00 00       	call   0x1408092e0
140808f67:	eb 47                	jmp    0x140808fb0
140808f69:	4d 8d 04 1f          	lea    (%r15,%rbx,1),%r8
140808f6d:	4c 89 84 24 a8 00 00 	mov    %r8,0xa8(%rsp)
140808f74:	00
140808f75:	48 8b cb             	mov    %rbx,%rcx
140808f78:	e8 d3 03 00 00       	call   0x140809350
140808f7d:	48 89 07             	mov    %rax,(%rdi)
140808f80:	48 8b fb             	mov    %rbx,%rdi
140808f83:	49 3b de             	cmp    %r14,%rbx
140808f86:	74 11                	je     0x140808f99
140808f88:	48 8b cf             	mov    %rdi,%rcx
140808f8b:	e8 90 12 00 00       	call   0x14080a220
140808f90:	48 83 c7 30          	add    $0x30,%rdi
140808f94:	49 3b fe             	cmp    %r14,%rdi
140808f97:	75 ef                	jne    0x140808f88
140808f99:	4d 8b cd             	mov    %r13,%r9
140808f9c:	4c 8b c3             	mov    %rbx,%r8
140808f9f:	49 8b d4             	mov    %r12,%rdx
140808fa2:	48 8b 8c 24 a0 00 00 	mov    0xa0(%rsp),%rcx
140808fa9:	00
140808faa:	e8 31 03 00 00       	call   0x1408092e0
140808faf:	90                   	nop
140808fb0:	48 83 c4 50          	add    $0x50,%rsp
140808fb4:	41 5f                	pop    %r15
140808fb6:	41 5e                	pop    %r14
140808fb8:	41 5d                	pop    %r13
140808fba:	41 5c                	pop    %r12
140808fbc:	5f                   	pop    %rdi
140808fbd:	5e                   	pop    %rsi
140808fbe:	5b                   	pop    %rbx
140808fbf:	c3                   	ret
140808fc0:	e8 cb 45 99 ff       	call   0x14019d590
140808fc5:	cc                   	int3
140808fc6:	e8 d9 11 62 00       	call   0x140e2a1a4
140808fcb:	cc                   	int3
140808fcc:	e8 bf 41 99 ff       	call   0x14019d190
140808fd1:	cc                   	int3
140808fd2:	cc                   	int3
140808fd3:	cc                   	int3
140808fd4:	cc                   	int3
140808fd5:	cc                   	int3
140808fd6:	cc                   	int3
140808fd7:	cc                   	int3
140808fd8:	cc                   	int3
140808fd9:	cc                   	int3
140808fda:	cc                   	int3
140808fdb:	cc                   	int3
140808fdc:	cc                   	int3
140808fdd:	cc                   	int3
140808fde:	cc                   	int3
140808fdf:	cc                   	int3
140808fe0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140808fe5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140808fea:	57                   	push   %rdi
140808feb:	48 83 ec 20          	sub    $0x20,%rsp
140808fef:	49 8b d8             	mov    %r8,%rbx
140808ff2:	48 8b f2             	mov    %rdx,%rsi
140808ff5:	48 8b f9             	mov    %rcx,%rdi
140808ff8:	48 3b ca             	cmp    %rdx,%rcx
140808ffb:	74 37                	je     0x140809034
140808ffd:	0f 1f 00             	nopl   (%rax)
140809000:	48 8b 07             	mov    (%rdi),%rax
140809003:	48 8d 57 08          	lea    0x8(%rdi),%rdx
140809007:	4c 8b 03             	mov    (%rbx),%r8
14080900a:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
14080900e:	48 89 03             	mov    %rax,(%rbx)
140809011:	4c 89 07             	mov    %r8,(%rdi)
140809014:	e8 07 57 99 ff       	call   0x14019e720
140809019:	0f b6 47 28          	movzbl 0x28(%rdi),%eax
14080901d:	88 43 28             	mov    %al,0x28(%rbx)
140809020:	0f b6 47 29          	movzbl 0x29(%rdi),%eax
140809024:	48 83 c7 30          	add    $0x30,%rdi
140809028:	88 43 29             	mov    %al,0x29(%rbx)
14080902b:	48 83 c3 30          	add    $0x30,%rbx
14080902f:	48 3b fe             	cmp    %rsi,%rdi
140809032:	75 cc                	jne    0x140809000
140809034:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140809039:	48 8b c3             	mov    %rbx,%rax
14080903c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140809041:	48 83 c4 20          	add    $0x20,%rsp
140809045:	5f                   	pop    %rdi
140809046:	c3                   	ret
140809047:	cc                   	int3
140809048:	cc                   	int3
140809049:	cc                   	int3
14080904a:	cc                   	int3
14080904b:	cc                   	int3
14080904c:	cc                   	int3
14080904d:	cc                   	int3
14080904e:	cc                   	int3
14080904f:	cc                   	int3
140809050:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140809055:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14080905a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14080905f:	57                   	push   %rdi
140809060:	41 54                	push   %r12
140809062:	41 55                	push   %r13
140809064:	41 56                	push   %r14
140809066:	41 57                	push   %r15
140809068:	48 83 ec 30          	sub    $0x30,%rsp
14080906c:	4d 8b e8             	mov    %r8,%r13
14080906f:	4c 8b f2             	mov    %rdx,%r14
140809072:	48 8b f1             	mov    %rcx,%rsi
140809075:	45 0f b6 20          	movzbl (%r8),%r12d
140809079:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
140809080:	9c f2 cb
140809083:	4c 33 e0             	xor    %rax,%r12
140809086:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
14080908d:	01 00 00
140809090:	4c 0f af e1          	imul   %rcx,%r12
140809094:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
140809099:	4c 33 e0             	xor    %rax,%r12
14080909c:	4c 0f af e1          	imul   %rcx,%r12
1408090a0:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
1408090a5:	4c 33 e0             	xor    %rax,%r12
1408090a8:	4c 0f af e1          	imul   %rcx,%r12
1408090ac:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
1408090b1:	4c 33 e0             	xor    %rax,%r12
1408090b4:	4c 0f af e1          	imul   %rcx,%r12
1408090b8:	41 0f b6 40 04       	movzbl 0x4(%r8),%eax
1408090bd:	4c 33 e0             	xor    %rax,%r12
1408090c0:	4c 0f af e1          	imul   %rcx,%r12
1408090c4:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
1408090c9:	4c 33 e0             	xor    %rax,%r12
1408090cc:	4c 0f af e1          	imul   %rcx,%r12
1408090d0:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
1408090d5:	4c 33 e0             	xor    %rax,%r12
1408090d8:	4c 0f af e1          	imul   %rcx,%r12
1408090dc:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax
1408090e1:	4c 33 e0             	xor    %rax,%r12
1408090e4:	4c 0f af e1          	imul   %rcx,%r12
1408090e8:	49 8b cc             	mov    %r12,%rcx
1408090eb:	48 23 4e 30          	and    0x30(%rsi),%rcx
1408090ef:	48 03 c9             	add    %rcx,%rcx
1408090f2:	48 8b 56 18          	mov    0x18(%rsi),%rdx
1408090f6:	48 8b 5c ca 08       	mov    0x8(%rdx,%rcx,8),%rbx
1408090fb:	48 8d 46 08          	lea    0x8(%rsi),%rax
1408090ff:	4c 8b 38             	mov    (%rax),%r15
140809102:	49 3b df             	cmp    %r15,%rbx
140809105:	75 08                	jne    0x14080910f
140809107:	49 8b df             	mov    %r15,%rbx
14080910a:	49 8b ef             	mov    %r15,%rbp
14080910d:	eb 52                	jmp    0x140809161
14080910f:	48 8b 0c ca          	mov    (%rdx,%rcx,8),%rcx
140809113:	49 8b 00             	mov    (%r8),%rax
140809116:	48 3b 43 10          	cmp    0x10(%rbx),%rax
14080911a:	74 13                	je     0x14080912f
14080911c:	0f 1f 40 00          	nopl   0x0(%rax)
140809120:	48 3b d9             	cmp    %rcx,%rbx
140809123:	74 32                	je     0x140809157
140809125:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140809129:	48 3b 43 10          	cmp    0x10(%rbx),%rax
14080912d:	75 f1                	jne    0x140809120
14080912f:	49 89 1e             	mov    %rbx,(%r14)
140809132:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
140809137:	49 8b c6             	mov    %r14,%rax
14080913a:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14080913f:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140809144:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140809149:	48 83 c4 30          	add    $0x30,%rsp
14080914d:	41 5f                	pop    %r15
14080914f:	41 5e                	pop    %r14
140809151:	41 5d                	pop    %r13
140809153:	41 5c                	pop    %r12
140809155:	5f                   	pop    %rdi
140809156:	c3                   	ret
140809157:	4c 8b fb             	mov    %rbx,%r15
14080915a:	48 8b eb             	mov    %rbx,%rbp
14080915d:	48 8d 46 08          	lea    0x8(%rsi),%rax
140809161:	48 b9 92 24 49 92 24 	movabs $0x492492492492492,%rcx
140809168:	49 92 04
14080916b:	48 39 4e 10          	cmp    %rcx,0x10(%rsi)
14080916f:	0f 84 4f 01 00 00    	je     0x1408092c4
140809175:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14080917a:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140809181:	00 00
140809183:	b9 38 00 00 00       	mov    $0x38,%ecx
140809188:	e8 7b 1f 61 00       	call   0x140e1b108
14080918d:	48 8b f8             	mov    %rax,%rdi
140809190:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140809195:	49 8b 4d 00          	mov    0x0(%r13),%rcx
140809199:	48 89 48 10          	mov    %rcx,0x10(%rax)
14080919d:	0f 57 c0             	xorps  %xmm0,%xmm0
1408091a0:	0f 11 40 18          	movups %xmm0,0x18(%rax)
1408091a4:	45 33 ed             	xor    %r13d,%r13d
1408091a7:	4c 89 68 28          	mov    %r13,0x28(%rax)
1408091ab:	48 c7 40 30 0f 00 00 	movq   $0xf,0x30(%rax)
1408091b2:	00
1408091b3:	44 88 68 18          	mov    %r13b,0x18(%rax)
1408091b7:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
1408091bb:	48 83 c1 01          	add    $0x1,%rcx
1408091bf:	0f 57 c0             	xorps  %xmm0,%xmm0
1408091c2:	78 07                	js     0x1408091cb
1408091c4:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
1408091c9:	eb 15                	jmp    0x1408091e0
1408091cb:	48 8b c1             	mov    %rcx,%rax
1408091ce:	48 d1 e8             	shr    $1,%rax
1408091d1:	83 e1 01             	and    $0x1,%ecx
1408091d4:	48 0b c1             	or     %rcx,%rax
1408091d7:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
1408091dc:	f3 0f 58 c0          	addss  %xmm0,%xmm0
1408091e0:	48 8b 4e 38          	mov    0x38(%rsi),%rcx
1408091e4:	0f 57 c9             	xorps  %xmm1,%xmm1
1408091e7:	48 85 c9             	test   %rcx,%rcx
1408091ea:	78 07                	js     0x1408091f3
1408091ec:	f3 48 0f 2a c9       	cvtsi2ss %rcx,%xmm1
1408091f1:	eb 15                	jmp    0x140809208
1408091f3:	48 8b c1             	mov    %rcx,%rax
1408091f6:	48 d1 e8             	shr    $1,%rax
1408091f9:	83 e1 01             	and    $0x1,%ecx
1408091fc:	48 0b c1             	or     %rcx,%rax
1408091ff:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
140809204:	f3 0f 58 c9          	addss  %xmm1,%xmm1
140809208:	f3 0f 5e c1          	divss  %xmm1,%xmm0
14080920c:	0f 2f 06             	comiss (%rsi),%xmm0
14080920f:	76 54                	jbe    0x140809265
140809211:	48 8b ce             	mov    %rsi,%rcx
140809214:	e8 87 4e e7 ff       	call   0x14067e0a0
140809219:	48 8b 4e 30          	mov    0x30(%rsi),%rcx
14080921d:	49 23 cc             	and    %r12,%rcx
140809220:	48 03 c9             	add    %rcx,%rcx
140809223:	48 8b 56 18          	mov    0x18(%rsi),%rdx
140809227:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
14080922c:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
140809230:	48 3b c3             	cmp    %rbx,%rax
140809233:	74 23                	je     0x140809258
140809235:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
140809239:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
14080923d:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140809241:	74 12                	je     0x140809255
140809243:	48 8b d8             	mov    %rax,%rbx
140809246:	48 3b c2             	cmp    %rdx,%rax
140809249:	74 4e                	je     0x140809299
14080924b:	48 8b 40 08          	mov    0x8(%rax),%rax
14080924f:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140809253:	75 ee                	jne    0x140809243
140809255:	48 8b 18             	mov    (%rax),%rbx
140809258:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14080925d:	48 8b eb             	mov    %rbx,%rbp
140809260:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
140809265:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140809269:	48 ff 46 10          	incq   0x10(%rsi)
14080926d:	4c 89 3f             	mov    %r15,(%rdi)
140809270:	48 89 57 08          	mov    %rdx,0x8(%rdi)
140809274:	48 89 3a             	mov    %rdi,(%rdx)
140809277:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
14080927b:	48 8b 4e 18          	mov    0x18(%rsi),%rcx
14080927f:	48 8b 46 30          	mov    0x30(%rsi),%rax
140809283:	49 23 c4             	and    %r12,%rax
140809286:	48 03 c0             	add    %rax,%rax
140809289:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
14080928d:	4c 3b 46 08          	cmp    0x8(%rsi),%r8
140809291:	75 0d                	jne    0x1408092a0
140809293:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
140809297:	eb 19                	jmp    0x1408092b2
140809299:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14080929e:	eb bd                	jmp    0x14080925d
1408092a0:	4c 3b c5             	cmp    %rbp,%r8
1408092a3:	75 06                	jne    0x1408092ab
1408092a5:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
1408092a9:	eb 0c                	jmp    0x1408092b7
1408092ab:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
1408092b0:	75 05                	jne    0x1408092b7
1408092b2:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
1408092b7:	49 89 3e             	mov    %rdi,(%r14)
1408092ba:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
1408092bf:	e9 73 fe ff ff       	jmp    0x140809137
1408092c4:	48 8d 0d d5 51 7a 00 	lea    0x7a51d5(%rip),%rcx        # 0x140fae4a0
1408092cb:	e8 e4 20 5f 00       	call   0x140dfb3b4
1408092d0:	cc                   	int3
1408092d1:	cc                   	int3
1408092d2:	cc                   	int3
1408092d3:	cc                   	int3
1408092d4:	cc                   	int3
1408092d5:	cc                   	int3
1408092d6:	cc                   	int3
1408092d7:	cc                   	int3
1408092d8:	cc                   	int3
1408092d9:	cc                   	int3
1408092da:	cc                   	int3
1408092db:	cc                   	int3
1408092dc:	cc                   	int3
1408092dd:	cc                   	int3
1408092de:	cc                   	int3
1408092df:	cc                   	int3
1408092e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1408092e5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)