1400162fc:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
140016301:	4c 33 e8             	xor    %rax,%r13
140016304:	4c 0f af e9          	imul   %rcx,%r13
140016308:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
14001630d:	4c 33 e8             	xor    %rax,%r13
140016310:	4c 0f af e9          	imul   %rcx,%r13
140016314:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax
140016319:	4c 33 e8             	xor    %rax,%r13
14001631c:	4c 0f af e9          	imul   %rcx,%r13
140016320:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
140016324:	49 23 cd             	and    %r13,%rcx
140016327:	48 03 c9             	add    %rcx,%rcx
14001632a:	48 8b 45 18          	mov    0x18(%rbp),%rax
14001632e:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
140016333:	48 8d 55 08          	lea    0x8(%rbp),%rdx
140016337:	4c 8b 22             	mov    (%rdx),%r12
14001633a:	49 3b dc             	cmp    %r12,%rbx
14001633d:	75 08                	jne    0x140016347
14001633f:	49 8b dc             	mov    %r12,%rbx
140016342:	4d 8b fc             	mov    %r12,%r15
140016345:	eb 45                	jmp    0x14001638c
140016347:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
14001634b:	49 8b 00             	mov    (%r8),%rax
14001634e:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140016352:	74 0f                	je     0x140016363
140016354:	48 3b d9             	cmp    %rcx,%rbx
140016357:	74 2d                	je     0x140016386
140016359:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
14001635d:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140016361:	75 f1                	jne    0x140016354
140016363:	49 89 1e             	mov    %rbx,(%r14)
140016366:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
14001636b:	49 8b c6             	mov    %r14,%rax
14001636e:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
140016375:	00
140016376:	48 83 c4 30          	add    $0x30,%rsp
14001637a:	41 5f                	pop    %r15
14001637c:	41 5e                	pop    %r14
14001637e:	41 5d                	pop    %r13
140016380:	41 5c                	pop    %r12
140016382:	5f                   	pop    %rdi
140016383:	5e                   	pop    %rsi
140016384:	5d                   	pop    %rbp
140016385:	c3                   	ret
140016386:	4c 8b e3             	mov    %rbx,%r12
140016389:	4c 8b fb             	mov    %rbx,%r15
14001638c:	48 b8 55 55 55 55 55 	movabs $0x555555555555555,%rax
140016393:	55 55 05
140016396:	48 39 45 10          	cmp    %rax,0x10(%rbp)
14001639a:	0f 84 de 01 00 00    	je     0x14001657e
1400163a0:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
1400163a5:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1400163ac:	00 00
1400163ae:	b9 30 00 00 00       	mov    $0x30,%ecx
1400163b3:	e8 14 eb 00 00       	call   0x140024ecc
1400163b8:	48 8b f8             	mov    %rax,%rdi
1400163bb:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400163c0:	48 8b 06             	mov    (%rsi),%rax
1400163c3:	48 89 47 10          	mov    %rax,0x10(%rdi)
1400163c7:	0f 10 46 08          	movups 0x8(%rsi),%xmm0
1400163cb:	0f 11 47 18          	movups %xmm0,0x18(%rdi)
1400163cf:	0f b6 46 18          	movzbl 0x18(%rsi),%eax
1400163d3:	88 47 28             	mov    %al,0x28(%rdi)
1400163d6:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
1400163da:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
1400163df:	48 83 c1 01          	add    $0x1,%rcx
1400163e3:	0f 57 c0             	xorps  %xmm0,%xmm0
1400163e6:	78 07                	js     0x1400163ef
1400163e8:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
1400163ed:	eb 15                	jmp    0x140016404
1400163ef:	48 8b c1             	mov    %rcx,%rax
1400163f2:	48 d1 e8             	shr    $1,%rax
1400163f5:	83 e1 01             	and    $0x1,%ecx
1400163f8:	48 0b c1             	or     %rcx,%rax
1400163fb:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140016400:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140016404:	48 8b 75 38          	mov    0x38(%rbp),%rsi
140016408:	0f 57 d2             	xorps  %xmm2,%xmm2
14001640b:	48 85 f6             	test   %rsi,%rsi
14001640e:	78 07                	js     0x140016417
140016410:	f3 48 0f 2a d6       	cvtsi2ss %rsi,%xmm2
140016415:	eb 18                	jmp    0x14001642f
140016417:	48 8b ce             	mov    %rsi,%rcx
14001641a:	48 d1 e9             	shr    $1,%rcx
14001641d:	48 8b c6             	mov    %rsi,%rax
140016420:	83 e0 01             	and    $0x1,%eax
140016423:	48 0b c8             	or     %rax,%rcx
140016426:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
14001642b:	f3 0f 58 d2          	addss  %xmm2,%xmm2
14001642f:	0f 28 c8             	movaps %xmm0,%xmm1
140016432:	f3 0f 5e ca          	divss  %xmm2,%xmm1
140016436:	0f 2f cb             	comiss %xmm3,%xmm1
140016439:	0f 97 c0             	seta   %al
14001643c:	84 c0                	test   %al,%al
14001643e:	0f 84 d2 00 00 00    	je     0x140016516
140016444:	f3 0f 5e c3          	divss  %xmm3,%xmm0
140016448:	e8 ff 28 03 00       	call   0x140048d4c
14001644d:	33 c9                	xor    %ecx,%ecx
14001644f:	f3 0f 10 0d e9 0c 05 	movss  0x50ce9(%rip),%xmm1        # 0x140067140
140016456:	00
140016457:	0f 2f c1             	comiss %xmm1,%xmm0
14001645a:	72 16                	jb     0x140016472
14001645c:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140016460:	0f 2f c1             	comiss %xmm1,%xmm0
140016463:	73 0d                	jae    0x140016472
140016465:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
14001646c:	00 00 80
14001646f:	48 8b c8             	mov    %rax,%rcx
140016472:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
140016477:	48 03 c1             	add    %rcx,%rax
14001647a:	b9 08 00 00 00       	mov    $0x8,%ecx
14001647f:	48 3b c1             	cmp    %rcx,%rax
140016482:	48 0f 47 c8          	cmova  %rax,%rcx
140016486:	48 3b f1             	cmp    %rcx,%rsi
140016489:	73 19                	jae    0x1400164a4
14001648b:	48 81 fe 00 02 00 00 	cmp    $0x200,%rsi
140016492:	73 0d                	jae    0x1400164a1
140016494:	48 8d 34 f5 00 00 00 	lea    0x0(,%rsi,8),%rsi
14001649b:	00
14001649c:	48 3b f1             	cmp    %rcx,%rsi
14001649f:	73 03                	jae    0x1400164a4
1400164a1:	48 8b f1             	mov    %rcx,%rsi
1400164a4:	48 8b d6             	mov    %rsi,%rdx
1400164a7:	48 8b cd             	mov    %rbp,%rcx
1400164aa:	e8 01 01 00 00       	call   0x1400165b0
1400164af:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
1400164b3:	49 23 cd             	and    %r13,%rcx
1400164b6:	48 03 c9             	add    %rcx,%rcx
1400164b9:	48 8b 55 18          	mov    0x18(%rbp),%rdx
1400164bd:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
1400164c2:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
1400164c6:	48 3b c3             	cmp    %rbx,%rax
1400164c9:	75 0b                	jne    0x1400164d6
1400164cb:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1400164d2:	00 00
1400164d4:	eb 28                	jmp    0x1400164fe
1400164d6:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
1400164da:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1400164de:	48 3b 48 10          	cmp    0x10(%rax),%rcx
1400164e2:	74 12                	je     0x1400164f6
1400164e4:	48 8b d8             	mov    %rax,%rbx
1400164e7:	48 3b c2             	cmp    %rdx,%rax
1400164ea:	74 5e                	je     0x14001654a
1400164ec:	48 8b 40 08          	mov    0x8(%rax),%rax
1400164f0:	48 3b 48 10          	cmp    0x10(%rax),%rcx
1400164f4:	75 ee                	jne    0x1400164e4
1400164f6:	48 8b 18             	mov    (%rax),%rbx
1400164f9:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400164fe:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140016503:	4c 8b fb             	mov    %rbx,%r15
140016506:	0f 28 44 24 20       	movaps 0x20(%rsp),%xmm0
14001650b:	66 0f 7f 44 24 20    	movdqa %xmm0,0x20(%rsp)
140016511:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
140016516:	48 8b 53 08          	mov    0x8(%rbx),%rdx
14001651a:	48 ff 45 10          	incq   0x10(%rbp)
14001651e:	4c 89 27             	mov    %r12,(%rdi)
140016521:	48 89 57 08          	mov    %rdx,0x8(%rdi)
140016525:	48 89 3a             	mov    %rdi,(%rdx)
140016528:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
14001652c:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
140016530:	48 8b 45 30          	mov    0x30(%rbp),%rax
140016534:	49 23 c5             	and    %r13,%rax
140016537:	48 03 c0             	add    %rax,%rax
14001653a:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
14001653e:	4c 3b 45 08          	cmp    0x8(%rbp),%r8
140016542:	75 16                	jne    0x14001655a
140016544:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
140016548:	eb 22                	jmp    0x14001656c
14001654a:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14001654f:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140016556:	00 00
140016558:	eb a9                	jmp    0x140016503
14001655a:	4d 3b c7             	cmp    %r15,%r8
14001655d:	75 06                	jne    0x140016565
14001655f:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
140016563:	eb 0c                	jmp    0x140016571
140016565:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
14001656a:	75 05                	jne    0x140016571
14001656c:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
140016571:	49 89 3e             	mov    %rdi,(%r14)
140016574:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
140016579:	e9 ed fd ff ff       	jmp    0x14001636b
14001657e:	48 8d 0d d3 b2 04 00 	lea    0x4b2d3(%rip),%rcx        # 0x140061858
140016585:	e8 c6 ca 00 00       	call   0x140023050
14001658a:	cc                   	int3
14001658b:	cc                   	int3
14001658c:	cc                   	int3
14001658d:	cc                   	int3
14001658e:	cc                   	int3
14001658f:	cc                   	int3
140016590:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140016594:	48 85 c9             	test   %rcx,%rcx
140016597:	74 0a                	je     0x1400165a3
140016599:	ba 30 00 00 00       	mov    $0x30,%edx
14001659e:	e9 ed e8 00 00       	jmp    0x140024e90
1400165a3:	c3                   	ret
1400165a4:	cc                   	int3
1400165a5:	cc                   	int3
1400165a6:	cc                   	int3
1400165a7:	cc                   	int3
1400165a8:	cc                   	int3
1400165a9:	cc                   	int3
1400165aa:	cc                   	int3
1400165ab:	cc                   	int3
1400165ac:	cc                   	int3
1400165ad:	cc                   	int3
1400165ae:	cc                   	int3
1400165af:	cc                   	int3
1400165b0:	40 56                	rex push %rsi
1400165b2:	57                   	push   %rdi
1400165b3:	48 83 ec 28          	sub    $0x28,%rsp
1400165b7:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
1400165be:	ff ff 0f
1400165c1:	48 8b f1             	mov    %rcx,%rsi
1400165c4:	48 0f bd c8          	bsr    %rax,%rcx
1400165c8:	bf 01 00 00 00       	mov    $0x1,%edi
1400165cd:	8b c7                	mov    %edi,%eax
1400165cf:	48 d3 e0             	shl    %cl,%rax
1400165d2:	48 3b d0             	cmp    %rax,%rdx
1400165d5:	0f 87 a0 01 00 00    	ja     0x14001677b
1400165db:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
1400165df:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
1400165e4:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
1400165e8:	48 0b c7             	or     %rdi,%rax
1400165eb:	48 0f bd c8          	bsr    %rax,%rcx
1400165ef:	4c 8b c3             	mov    %rbx,%r8
1400165f2:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
1400165f7:	ff c1                	inc    %ecx
1400165f9:	48 d3 e7             	shl    %cl,%rdi
1400165fc:	48 8d 4e 18          	lea    0x18(%rsi),%rcx
140016600:	48 8d 14 3f          	lea    (%rdi,%rdi,1),%rdx
140016604:	e8 37 fb ff ff       	call   0x140016140
140016609:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
14001660d:	48 89 7e 38          	mov    %rdi,0x38(%rsi)
140016611:	48 89 46 30          	mov    %rax,0x30(%rsi)
140016615:	48 8b 46 08          	mov    0x8(%rsi),%rax
140016619:	48 8b 00             	mov    (%rax),%rax
14001661c:	48 8b c8             	mov    %rax,%rcx
14001661f:	48 3b c3             	cmp    %rbx,%rax
140016622:	0f 84 1c 01 00 00    	je     0x140016744
140016628:	48 89 6c 24 58       	mov    %rbp,0x58(%rsp)
14001662d:	48 bf b3 01 00 00 00 	movabs $0x100000001b3,%rdi
140016634:	01 00 00
140016637:	48 bd 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rbp
14001663e:	9c f2 cb
140016641:	0f b6 50 11          	movzbl 0x11(%rax),%edx
140016645:	44 0f b6 58 10       	movzbl 0x10(%rax),%r11d
14001664a:	48 8b 09             	mov    (%rcx),%rcx
14001664d:	4c 33 dd             	xor    %rbp,%r11
140016650:	4c 0f af df          	imul   %rdi,%r11
140016654:	4c 33 da             	xor    %rdx,%r11
140016657:	0f b6 50 12          	movzbl 0x12(%rax),%edx
14001665b:	4c 0f af df          	imul   %rdi,%r11
14001665f:	4c 33 da             	xor    %rdx,%r11
140016662:	0f b6 50 13          	movzbl 0x13(%rax),%edx
140016666:	4c 0f af df          	imul   %rdi,%r11
14001666a:	4c 33 da             	xor    %rdx,%r11
14001666d:	0f b6 50 14          	movzbl 0x14(%rax),%edx
140016671:	4c 0f af df          	imul   %rdi,%r11
140016675:	4c 33 da             	xor    %rdx,%r11
140016678:	0f b6 50 15          	movzbl 0x15(%rax),%edx
14001667c:	4c 0f af df          	imul   %rdi,%r11
140016680:	4c 33 da             	xor    %rdx,%r11
140016683:	0f b6 50 16          	movzbl 0x16(%rax),%edx
140016687:	4c 0f af df          	imul   %rdi,%r11
14001668b:	4c 33 da             	xor    %rdx,%r11
14001668e:	0f b6 50 17          	movzbl 0x17(%rax),%edx
140016692:	4c 0f af df          	imul   %rdi,%r11
140016696:	4c 33 da             	xor    %rdx,%r11
140016699:	4c 0f af df          	imul   %rdi,%r11
14001669d:	4c 23 5e 30          	and    0x30(%rsi),%r11
1400166a1:	49 c1 e3 04          	shl    $0x4,%r11
1400166a5:	4c 03 5e 18          	add    0x18(%rsi),%r11
1400166a9:	4d 8b 0b             	mov    (%r11),%r9
1400166ac:	4c 3b cb             	cmp    %rbx,%r9
1400166af:	75 0c                	jne    0x1400166bd
1400166b1:	49 89 03             	mov    %rax,(%r11)
1400166b4:	49 89 43 08          	mov    %rax,0x8(%r11)
1400166b8:	e9 76 00 00 00       	jmp    0x140016733
1400166bd:	49 8b 53 08          	mov    0x8(%r11),%rdx
1400166c1:	4c 8b 40 10          	mov    0x10(%rax),%r8
1400166c5:	4c 3b 42 10          	cmp    0x10(%rdx),%r8
1400166c9:	75 2f                	jne    0x1400166fa
1400166cb:	4c 8b 12             	mov    (%rdx),%r10
1400166ce:	4c 3b d0             	cmp    %rax,%r10
1400166d1:	74 21                	je     0x1400166f4
1400166d3:	4c 8b 48 08          	mov    0x8(%rax),%r9
1400166d7:	49 89 09             	mov    %rcx,(%r9)
1400166da:	4c 8b 41 08          	mov    0x8(%rcx),%r8
1400166de:	4d 89 10             	mov    %r10,(%r8)
1400166e1:	49 8b 52 08          	mov    0x8(%r10),%rdx
1400166e5:	48 89 02             	mov    %rax,(%rdx)
1400166e8:	4d 89 42 08          	mov    %r8,0x8(%r10)
1400166ec:	4c 89 49 08          	mov    %r9,0x8(%rcx)
1400166f0:	48 89 50 08          	mov    %rdx,0x8(%rax)
1400166f4:	49 89 43 08          	mov    %rax,0x8(%r11)
1400166f8:	eb 39                	jmp    0x140016733
1400166fa:	4c 3b ca             	cmp    %rdx,%r9
1400166fd:	74 10                	je     0x14001670f
1400166ff:	90                   	nop
140016700:	48 8b 52 08          	mov    0x8(%rdx),%rdx
140016704:	4c 3b 42 10          	cmp    0x10(%rdx),%r8
140016708:	74 4b                	je     0x140016755
14001670a:	4c 3b ca             	cmp    %rdx,%r9
14001670d:	75 f1                	jne    0x140016700
14001670f:	4c 8b 50 08          	mov    0x8(%rax),%r10
140016713:	49 89 0a             	mov    %rcx,(%r10)
140016716:	4c 8b 49 08          	mov    0x8(%rcx),%r9
14001671a:	49 89 11             	mov    %rdx,(%r9)
14001671d:	4c 8b 42 08          	mov    0x8(%rdx),%r8
140016721:	49 89 00             	mov    %rax,(%r8)
140016724:	4c 89 4a 08          	mov    %r9,0x8(%rdx)
140016728:	4c 89 51 08          	mov    %r10,0x8(%rcx)
14001672c:	4c 89 40 08          	mov    %r8,0x8(%rax)
140016730:	49 89 03             	mov    %rax,(%r11)
140016733:	48 8b c1             	mov    %rcx,%rax
140016736:	48 3b cb             	cmp    %rbx,%rcx
140016739:	0f 85 02 ff ff ff    	jne    0x140016641
14001673f:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140016744:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140016749:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
14001674e:	48 83 c4 28          	add    $0x28,%rsp
140016752:	5f                   	pop    %rdi
140016753:	5e                   	pop    %rsi
140016754:	c3                   	ret
140016755:	4c 8b 12             	mov    (%rdx),%r10
140016758:	4c 8b 48 08          	mov    0x8(%rax),%r9
14001675c:	49 89 09             	mov    %rcx,(%r9)
14001675f:	4c 8b 41 08          	mov    0x8(%rcx),%r8
140016763:	4d 89 10             	mov    %r10,(%r8)
140016766:	49 8b 52 08          	mov    0x8(%r10),%rdx
14001676a:	48 89 02             	mov    %rax,(%rdx)
14001676d:	4d 89 42 08          	mov    %r8,0x8(%r10)
140016771:	4c 89 49 08          	mov    %r9,0x8(%rcx)
140016775:	48 89 50 08          	mov    %rdx,0x8(%rax)
140016779:	eb b8                	jmp    0x140016733
14001677b:	48 8d 0d f6 b0 04 00 	lea    0x4b0f6(%rip),%rcx        # 0x140061878
140016782:	e8 c9 c8 00 00       	call   0x140023050
140016787:	cc                   	int3
140016788:	cc                   	int3
140016789:	cc                   	int3
14001678a:	cc                   	int3
14001678b:	cc                   	int3
14001678c:	cc                   	int3
14001678d:	cc                   	int3
14001678e:	cc                   	int3
14001678f:	cc                   	int3
140016790:	e9 0b 00 00 00       	jmp    0x1400167a0
140016795:	cc                   	int3
140016796:	cc                   	int3