1400921a0:	41 54                	push   %r12
1400921a2:	41 55                	push   %r13
1400921a4:	41 56                	push   %r14
1400921a6:	41 57                	push   %r15
1400921a8:	48 83 ec 30          	sub    $0x30,%rsp
1400921ac:	4d 8b e8             	mov    %r8,%r13
1400921af:	4c 8b fa             	mov    %rdx,%r15
1400921b2:	48 8b e9             	mov    %rcx,%rbp
1400921b5:	41 0f b6 30          	movzbl (%r8),%esi
1400921b9:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
1400921c0:	9c f2 cb
1400921c3:	48 33 f0             	xor    %rax,%rsi
1400921c6:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
1400921cd:	01 00 00
1400921d0:	48 0f af f1          	imul   %rcx,%rsi
1400921d4:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
1400921d9:	48 33 f0             	xor    %rax,%rsi
1400921dc:	48 0f af f1          	imul   %rcx,%rsi
1400921e0:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
1400921e5:	48 33 f0             	xor    %rax,%rsi
1400921e8:	48 0f af f1          	imul   %rcx,%rsi
1400921ec:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
1400921f1:	48 33 f0             	xor    %rax,%rsi
1400921f4:	48 0f af f1          	imul   %rcx,%rsi
1400921f8:	48 8b ce             	mov    %rsi,%rcx
1400921fb:	48 23 4d 30          	and    0x30(%rbp),%rcx
1400921ff:	48 03 c9             	add    %rcx,%rcx
140092202:	48 8b 45 18          	mov    0x18(%rbp),%rax
140092206:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
14009220b:	48 8d 55 08          	lea    0x8(%rbp),%rdx
14009220f:	4c 8b 22             	mov    (%rdx),%r12
140092212:	49 3b dc             	cmp    %r12,%rbx
140092215:	75 08                	jne    0x14009221f
140092217:	49 8b dc             	mov    %r12,%rbx
14009221a:	4d 8b f4             	mov    %r12,%r14
14009221d:	eb 4d                	jmp    0x14009226c
14009221f:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
140092223:	41 8b 00             	mov    (%r8),%eax
140092226:	3b 43 10             	cmp    0x10(%rbx),%eax
140092229:	74 13                	je     0x14009223e
14009222b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140092230:	48 3b d9             	cmp    %rcx,%rbx
140092233:	74 31                	je     0x140092266
140092235:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140092239:	3b 43 10             	cmp    0x10(%rbx),%eax
14009223c:	75 f2                	jne    0x140092230
14009223e:	49 89 1f             	mov    %rbx,(%r15)
140092241:	41 c6 47 08 00       	movb   $0x0,0x8(%r15)
140092246:	49 8b c7             	mov    %r15,%rax
140092249:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14009224e:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140092253:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140092258:	48 83 c4 30          	add    $0x30,%rsp
14009225c:	41 5f                	pop    %r15
14009225e:	41 5e                	pop    %r14
140092260:	41 5d                	pop    %r13
140092262:	41 5c                	pop    %r12
140092264:	5f                   	pop    %rdi
140092265:	c3                   	ret
140092266:	4c 8b e3             	mov    %rbx,%r12
140092269:	4c 8b f3             	mov    %rbx,%r14
14009226c:	48 b8 ff ff ff ff ff 	movabs $0x7ffffffffffffff,%rax
140092273:	ff ff 07
140092276:	48 39 45 10          	cmp    %rax,0x10(%rbp)
14009227a:	0f 84 cd 01 00 00    	je     0x14009244d
140092280:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140092285:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14009228c:	00 00
14009228e:	b9 20 00 00 00       	mov    $0x20,%ecx
140092293:	e8 b0 7f 26 00       	call   0x1402fa248
140092298:	48 8b f8             	mov    %rax,%rdi
14009229b:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400922a0:	41 8b 4d 00          	mov    0x0(%r13),%ecx
1400922a4:	89 48 10             	mov    %ecx,0x10(%rax)
1400922a7:	45 33 ed             	xor    %r13d,%r13d
1400922aa:	4c 89 68 18          	mov    %r13,0x18(%rax)
1400922ae:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
1400922b2:	48 83 c1 01          	add    $0x1,%rcx
1400922b6:	0f 57 c9             	xorps  %xmm1,%xmm1
1400922b9:	78 07                	js     0x1400922c2
1400922bb:	f3 48 0f 2a c9       	cvtsi2ss %rcx,%xmm1
1400922c0:	eb 15                	jmp    0x1400922d7
1400922c2:	48 8b c1             	mov    %rcx,%rax
1400922c5:	48 d1 e8             	shr    $1,%rax
1400922c8:	83 e1 01             	and    $0x1,%ecx
1400922cb:	48 0b c1             	or     %rcx,%rax
1400922ce:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
1400922d3:	f3 0f 58 c9          	addss  %xmm1,%xmm1
1400922d7:	48 8b 55 38          	mov    0x38(%rbp),%rdx
1400922db:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
1400922e0:	0f 57 d2             	xorps  %xmm2,%xmm2
1400922e3:	48 85 d2             	test   %rdx,%rdx
1400922e6:	78 07                	js     0x1400922ef
1400922e8:	f3 48 0f 2a d2       	cvtsi2ss %rdx,%xmm2
1400922ed:	eb 18                	jmp    0x140092307
1400922ef:	48 8b ca             	mov    %rdx,%rcx
1400922f2:	48 d1 e9             	shr    $1,%rcx
1400922f5:	48 8b c2             	mov    %rdx,%rax
1400922f8:	83 e0 01             	and    $0x1,%eax
1400922fb:	48 0b c8             	or     %rax,%rcx
1400922fe:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
140092303:	f3 0f 58 d2          	addss  %xmm2,%xmm2
140092307:	0f 28 c1             	movaps %xmm1,%xmm0
14009230a:	f3 0f 5e c2          	divss  %xmm2,%xmm0
14009230e:	0f 2f d8             	comiss %xmm0,%xmm3
140092311:	0f 83 da 00 00 00    	jae    0x1400923f1
140092317:	f3 0f 5e cb          	divss  %xmm3,%xmm1
14009231b:	f3 0f 2c c9          	cvttss2si %xmm1,%ecx
14009231f:	81 f9 00 00 00 80    	cmp    $0x80000000,%ecx
140092325:	74 21                	je     0x140092348
140092327:	66 0f 6e c1          	movd   %ecx,%xmm0
14009232b:	0f 5b c0             	cvtdq2ps %xmm0,%xmm0
14009232e:	0f 2e c1             	ucomiss %xmm1,%xmm0
140092331:	74 15                	je     0x140092348
140092333:	0f 14 c9             	unpcklps %xmm1,%xmm1
140092336:	0f 50 c1             	movmskps %xmm1,%eax
140092339:	83 e0 01             	and    $0x1,%eax
14009233c:	83 f0 01             	xor    $0x1,%eax
14009233f:	03 c8                	add    %eax,%ecx
140092341:	66 0f 6e c9          	movd   %ecx,%xmm1
140092345:	0f 5b c9             	cvtdq2ps %xmm1,%xmm1
140092348:	33 c9                	xor    %ecx,%ecx
14009234a:	f3 0f 10 05 82 c1 29 	movss  0x29c182(%rip),%xmm0        # 0x14032e4d4
140092351:	00
140092352:	0f 2f c8             	comiss %xmm0,%xmm1
140092355:	72 16                	jb     0x14009236d
140092357:	f3 0f 5c c8          	subss  %xmm0,%xmm1
14009235b:	0f 2f c8             	comiss %xmm0,%xmm1
14009235e:	73 0d                	jae    0x14009236d
140092360:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140092367:	00 00 80
14009236a:	48 8b c8             	mov    %rax,%rcx
14009236d:	f3 48 0f 2c c1       	cvttss2si %xmm1,%rax
140092372:	48 03 c1             	add    %rcx,%rax
140092375:	b9 08 00 00 00       	mov    $0x8,%ecx
14009237a:	48 3b c1             	cmp    %rcx,%rax
14009237d:	48 0f 47 c8          	cmova  %rax,%rcx
140092381:	48 3b d1             	cmp    %rcx,%rdx
140092384:	73 19                	jae    0x14009239f
140092386:	48 81 fa 00 02 00 00 	cmp    $0x200,%rdx
14009238d:	73 0d                	jae    0x14009239c
14009238f:	48 8d 14 d5 00 00 00 	lea    0x0(,%rdx,8),%rdx
140092396:	00
140092397:	48 3b d1             	cmp    %rcx,%rdx
14009239a:	73 03                	jae    0x14009239f
14009239c:	48 8b d1             	mov    %rcx,%rdx
14009239f:	48 8b cd             	mov    %rbp,%rcx
1400923a2:	e8 29 d7 02 00       	call   0x1400bfad0
1400923a7:	48 8b ce             	mov    %rsi,%rcx
1400923aa:	48 23 4d 30          	and    0x30(%rbp),%rcx
1400923ae:	48 03 c9             	add    %rcx,%rcx
1400923b1:	48 8b 55 18          	mov    0x18(%rbp),%rdx
1400923b5:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
1400923ba:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
1400923be:	48 3b c3             	cmp    %rbx,%rax
1400923c1:	74 21                	je     0x1400923e4
1400923c3:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
1400923c7:	8b 4f 10             	mov    0x10(%rdi),%ecx
1400923ca:	3b 48 10             	cmp    0x10(%rax),%ecx
1400923cd:	74 12                	je     0x1400923e1
1400923cf:	90                   	nop
1400923d0:	48 8b d8             	mov    %rax,%rbx
1400923d3:	48 3b c2             	cmp    %rdx,%rax
1400923d6:	74 4a                	je     0x140092422
1400923d8:	48 8b 40 08          	mov    0x8(%rax),%rax
1400923dc:	3b 48 10             	cmp    0x10(%rax),%ecx
1400923df:	75 ef                	jne    0x1400923d0
1400923e1:	48 8b 18             	mov    (%rax),%rbx
1400923e4:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1400923e9:	4c 8b f3             	mov    %rbx,%r14
1400923ec:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
1400923f1:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1400923f5:	48 ff 45 10          	incq   0x10(%rbp)
1400923f9:	4c 89 27             	mov    %r12,(%rdi)
1400923fc:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140092400:	48 89 39             	mov    %rdi,(%rcx)
140092403:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
140092407:	48 8b 45 18          	mov    0x18(%rbp),%rax
14009240b:	48 23 75 30          	and    0x30(%rbp),%rsi
14009240f:	48 03 f6             	add    %rsi,%rsi
140092412:	48 8b 14 f0          	mov    (%rax,%rsi,8),%rdx
140092416:	48 3b 55 08          	cmp    0x8(%rbp),%rdx
14009241a:	75 0d                	jne    0x140092429
14009241c:	48 89 3c f0          	mov    %rdi,(%rax,%rsi,8)
140092420:	eb 19                	jmp    0x14009243b
140092422:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140092427:	eb c0                	jmp    0x1400923e9
140092429:	49 3b d6             	cmp    %r14,%rdx
14009242c:	75 06                	jne    0x140092434
14009242e:	48 89 3c f0          	mov    %rdi,(%rax,%rsi,8)
140092432:	eb 0c                	jmp    0x140092440
140092434:	48 39 4c f0 08       	cmp    %rcx,0x8(%rax,%rsi,8)
140092439:	75 05                	jne    0x140092440
14009243b:	48 89 7c f0 08       	mov    %rdi,0x8(%rax,%rsi,8)
140092440:	49 89 3f             	mov    %rdi,(%r15)
140092443:	41 c6 47 08 01       	movb   $0x1,0x8(%r15)
140092448:	e9 f9 fd ff ff       	jmp    0x140092246
14009244d:	48 8d 0d cc be 29 00 	lea    0x29becc(%rip),%rcx        # 0x14032e320
140092454:	e8 57 a1 26 00       	call   0x1402fc5b0
140092459:	cc                   	int3
14009245a:	cc                   	int3
14009245b:	cc                   	int3
14009245c:	cc                   	int3
14009245d:	cc                   	int3
14009245e:	cc                   	int3
14009245f:	cc                   	int3
140092460:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140092465:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14009246a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14009246f:	57                   	push   %rdi
140092470:	41 54                	push   %r12
140092472:	41 55                	push   %r13
140092474:	41 56                	push   %r14
140092476:	41 57                	push   %r15
140092478:	48 83 ec 30          	sub    $0x30,%rsp
14009247c:	4d 8b e8             	mov    %r8,%r13
14009247f:	4c 8b fa             	mov    %rdx,%r15
140092482:	48 8b e9             	mov    %rcx,%rbp
140092485:	41 0f b6 30          	movzbl (%r8),%esi
140092489:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
140092490:	9c f2 cb
140092493:	48 33 f0             	xor    %rax,%rsi
140092496:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
14009249d:	01 00 00
1400924a0:	48 0f af f1          	imul   %rcx,%rsi
1400924a4:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
1400924a9:	48 33 f0             	xor    %rax,%rsi
1400924ac:	48 0f af f1          	imul   %rcx,%rsi
1400924b0:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
1400924b5:	48 33 f0             	xor    %rax,%rsi
1400924b8:	48 0f af f1          	imul   %rcx,%rsi
1400924bc:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
1400924c1:	48 33 f0             	xor    %rax,%rsi
1400924c4:	48 0f af f1          	imul   %rcx,%rsi
1400924c8:	48 8b ce             	mov    %rsi,%rcx
1400924cb:	48 23 4d 30          	and    0x30(%rbp),%rcx
1400924cf:	48 03 c9             	add    %rcx,%rcx
1400924d2:	48 8b 45 18          	mov    0x18(%rbp),%rax
1400924d6:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
1400924db:	48 8d 55 08          	lea    0x8(%rbp),%rdx
1400924df:	4c 8b 22             	mov    (%rdx),%r12
1400924e2:	49 3b dc             	cmp    %r12,%rbx
1400924e5:	75 08                	jne    0x1400924ef
1400924e7:	49 8b dc             	mov    %r12,%rbx
1400924ea:	4d 8b f4             	mov    %r12,%r14
1400924ed:	eb 4d                	jmp    0x14009253c
1400924ef:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
1400924f3:	41 8b 00             	mov    (%r8),%eax
1400924f6:	3b 43 10             	cmp    0x10(%rbx),%eax
1400924f9:	74 13                	je     0x14009250e
1400924fb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140092500:	48 3b d9             	cmp    %rcx,%rbx
140092503:	74 31                	je     0x140092536
140092505:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140092509:	3b 43 10             	cmp    0x10(%rbx),%eax
14009250c:	75 f2                	jne    0x140092500
14009250e:	49 89 1f             	mov    %rbx,(%r15)
140092511:	41 c6 47 08 00       	movb   $0x0,0x8(%r15)
140092516:	49 8b c7             	mov    %r15,%rax
140092519:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14009251e:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140092523:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140092528:	48 83 c4 30          	add    $0x30,%rsp
14009252c:	41 5f                	pop    %r15
14009252e:	41 5e                	pop    %r14
140092530:	41 5d                	pop    %r13
140092532:	41 5c                	pop    %r12
140092534:	5f                   	pop    %rdi
140092535:	c3                   	ret
140092536:	4c 8b e3             	mov    %rbx,%r12
140092539:	4c 8b f3             	mov    %rbx,%r14
14009253c:	48 b8 ff ff ff ff ff 	movabs $0x7ffffffffffffff,%rax
140092543:	ff ff 07
140092546:	48 39 45 10          	cmp    %rax,0x10(%rbp)
14009254a:	0f 84 e6 01 00 00    	je     0x140092736
140092550:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140092555:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14009255c:	00 00
14009255e:	b9 20 00 00 00       	mov    $0x20,%ecx
140092563:	e8 e0 7c 26 00       	call   0x1402fa248
140092568:	48 8b f8             	mov    %rax,%rdi
14009256b:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140092570:	41 8b 4d 00          	mov    0x0(%r13),%ecx
140092574:	89 48 10             	mov    %ecx,0x10(%rax)
140092577:	33 c0                	xor    %eax,%eax
140092579:	48 89 47 14          	mov    %rax,0x14(%rdi)
14009257d:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140092581:	48 83 c1 01          	add    $0x1,%rcx
140092585:	0f 57 c9             	xorps  %xmm1,%xmm1
140092588:	78 07                	js     0x140092591
14009258a:	f3 48 0f 2a c9       	cvtsi2ss %rcx,%xmm1
14009258f:	eb 15                	jmp    0x1400925a6
140092591:	48 8b c1             	mov    %rcx,%rax
140092594:	48 d1 e8             	shr    $1,%rax
140092597:	83 e1 01             	and    $0x1,%ecx
14009259a:	48 0b c1             	or     %rcx,%rax
14009259d:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
1400925a2:	f3 0f 58 c9          	addss  %xmm1,%xmm1
1400925a6:	48 8b 55 38          	mov    0x38(%rbp),%rdx
1400925aa:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
1400925af:	0f 57 d2             	xorps  %xmm2,%xmm2
1400925b2:	48 85 d2             	test   %rdx,%rdx
1400925b5:	78 07                	js     0x1400925be
1400925b7:	f3 48 0f 2a d2       	cvtsi2ss %rdx,%xmm2
1400925bc:	eb 18                	jmp    0x1400925d6
1400925be:	48 8b ca             	mov    %rdx,%rcx
1400925c1:	48 d1 e9             	shr    $1,%rcx
1400925c4:	48 8b c2             	mov    %rdx,%rax
1400925c7:	83 e0 01             	and    $0x1,%eax
1400925ca:	48 0b c8             	or     %rax,%rcx
1400925cd:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
1400925d2:	f3 0f 58 d2          	addss  %xmm2,%xmm2
1400925d6:	0f 28 c1             	movaps %xmm1,%xmm0
1400925d9:	f3 0f 5e c2          	divss  %xmm2,%xmm0
1400925dd:	0f 2f d8             	comiss %xmm0,%xmm3
1400925e0:	0f 83 eb 00 00 00    	jae    0x1400926d1
1400925e6:	f3 0f 5e cb          	divss  %xmm3,%xmm1
1400925ea:	f3 0f 2c c9          	cvttss2si %xmm1,%ecx
1400925ee:	81 f9 00 00 00 80    	cmp    $0x80000000,%ecx
1400925f4:	74 21                	je     0x140092617
1400925f6:	66 0f 6e c1          	movd   %ecx,%xmm0
1400925fa:	0f 5b c0             	cvtdq2ps %xmm0,%xmm0
1400925fd:	0f 2e c1             	ucomiss %xmm1,%xmm0
140092600:	74 15                	je     0x140092617
140092602:	0f 14 c9             	unpcklps %xmm1,%xmm1
140092605:	0f 50 c1             	movmskps %xmm1,%eax
140092608:	83 e0 01             	and    $0x1,%eax
14009260b:	83 f0 01             	xor    $0x1,%eax
14009260e:	03 c8                	add    %eax,%ecx
140092610:	66 0f 6e c9          	movd   %ecx,%xmm1
140092614:	0f 5b c9             	cvtdq2ps %xmm1,%xmm1
140092617:	33 c9                	xor    %ecx,%ecx
140092619:	f3 0f 10 05 b3 be 29 	movss  0x29beb3(%rip),%xmm0        # 0x14032e4d4
140092620:	00
140092621:	0f 2f c8             	comiss %xmm0,%xmm1
140092624:	72 16                	jb     0x14009263c
140092626:	f3 0f 5c c8          	subss  %xmm0,%xmm1
14009262a:	0f 2f c8             	comiss %xmm0,%xmm1
14009262d:	73 0d                	jae    0x14009263c
14009262f:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140092636:	00 00 80
140092639:	48 8b c8             	mov    %rax,%rcx
14009263c:	f3 48 0f 2c c1       	cvttss2si %xmm1,%rax
140092641:	48 03 c1             	add    %rcx,%rax
140092644:	b9 08 00 00 00       	mov    $0x8,%ecx
140092649:	48 3b c1             	cmp    %rcx,%rax
14009264c:	48 0f 47 c8          	cmova  %rax,%rcx
140092650:	48 3b d1             	cmp    %rcx,%rdx
140092653:	73 19                	jae    0x14009266e
140092655:	48 81 fa 00 02 00 00 	cmp    $0x200,%rdx