140002447:	8b 48 f4             	mov    -0xc(%rax),%ecx
14000244a:	41 3b c8             	cmp    %r8d,%ecx
14000244d:	7d 2a                	jge    0x140002479
14000244f:	81 f9 00 00 00 40    	cmp    $0x40000000,%ecx
140002455:	7e 07                	jle    0x14000245e
140002457:	b8 00 00 10 00       	mov    $0x100000,%eax
14000245c:	eb 07                	jmp    0x140002465
14000245e:	8b c1                	mov    %ecx,%eax
140002460:	99                   	cltd
140002461:	2b c2                	sub    %edx,%eax
140002463:	d1 f8                	sar    $1,%eax
140002465:	03 c1                	add    %ecx,%eax
140002467:	49 8b c9             	mov    %r9,%rcx
14000246a:	41 3b c0             	cmp    %r8d,%eax
14000246d:	44 0f 4d c0          	cmovge %eax,%r8d
140002471:	41 8b d0             	mov    %r8d,%edx
140002474:	e8 53 ff ff ff       	call   0x1400023cc
140002479:	48 83 c4 28          	add    $0x28,%rsp
14000247d:	c3                   	ret
14000247e:	cc                   	int3
14000247f:	cc                   	int3
140002480:	cc                   	int3
140002481:	cc                   	int3
140002482:	cc                   	int3
140002483:	cc                   	int3
140002484:	cc                   	int3
140002485:	cc                   	int3
140002486:	cc                   	int3
140002487:	cc                   	int3
140002488:	40 53                	rex push %rbx
14000248a:	48 83 ec 20          	sub    $0x20,%rsp
14000248e:	48 8b d9             	mov    %rcx,%rbx
140002491:	48 83 c1 08          	add    $0x8,%rcx
140002495:	e8 96 04 00 00       	call   0x140002930
14000249a:	90                   	nop
14000249b:	48 8b 13             	mov    (%rbx),%rdx
14000249e:	48 83 ea 18          	sub    $0x18,%rdx
1400024a2:	83 c8 ff             	or     $0xffffffff,%eax
1400024a5:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
1400024aa:	83 e8 01             	sub    $0x1,%eax
1400024ad:	7f 11                	jg     0x1400024c0
1400024af:	48 8b 0a             	mov    (%rdx),%rcx
1400024b2:	48 8b 01             	mov    (%rcx),%rax
1400024b5:	48 8b 40 08          	mov    0x8(%rax),%rax
1400024b9:	ff 15 11 82 00 00    	call   *0x8211(%rip)        # 0x14000a6d0
1400024bf:	90                   	nop
1400024c0:	48 83 c4 20          	add    $0x20,%rsp
1400024c4:	5b                   	pop    %rbx
1400024c5:	c3                   	ret
1400024c6:	cc                   	int3
1400024c7:	cc                   	int3
1400024c8:	cc                   	int3
1400024c9:	cc                   	int3
1400024ca:	cc                   	int3
1400024cb:	cc                   	int3
1400024cc:	cc                   	int3
1400024cd:	cc                   	int3
1400024ce:	cc                   	int3
1400024cf:	cc                   	int3
1400024d0:	89 54 24 10          	mov    %edx,0x10(%rsp)
1400024d4:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1400024d9:	53                   	push   %rbx
1400024da:	56                   	push   %rsi
1400024db:	57                   	push   %rdi
1400024dc:	41 56                	push   %r14
1400024de:	48 83 ec 28          	sub    $0x28,%rsp
1400024e2:	8b fa                	mov    %edx,%edi
1400024e4:	48 8b d9             	mov    %rcx,%rbx
1400024e7:	48 83 64 24 60 00    	andq   $0x0,0x60(%rsp)
1400024ed:	85 d2                	test   %edx,%edx
1400024ef:	75 0f                	jne    0x140002500
1400024f1:	48 8b 51 08          	mov    0x8(%rcx),%rdx
1400024f5:	e8 d2 02 00 00       	call   0x1400027cc
1400024fa:	8b f8                	mov    %eax,%edi
1400024fc:	89 44 24 58          	mov    %eax,0x58(%rsp)
140002500:	3b 7b 10             	cmp    0x10(%rbx),%edi
140002503:	0f 84 c2 00 00 00    	je     0x1400025cb
140002509:	48 83 3b 00          	cmpq   $0x0,(%rbx)
14000250d:	75 12                	jne    0x140002521
14000250f:	45 33 c0             	xor    %r8d,%r8d
140002512:	8b d7                	mov    %edi,%edx
140002514:	48 8b cb             	mov    %rbx,%rcx
140002517:	e8 14 02 00 00       	call   0x140002730
14000251c:	e9 aa 00 00 00       	jmp    0x1400025cb
140002521:	44 8b f7             	mov    %edi,%r14d
140002524:	4c 89 74 24 68       	mov    %r14,0x68(%rsp)
140002529:	b8 08 00 00 00       	mov    $0x8,%eax
14000252e:	49 f7 e6             	mul    %r14
140002531:	48 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%rcx
140002538:	48 0f 40 c1          	cmovo  %rcx,%rax
14000253c:	48 8b c8             	mov    %rax,%rcx
14000253f:	e8 7c 61 00 00       	call   0x1400086c0
140002544:	48 8b f0             	mov    %rax,%rsi
140002547:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
14000254c:	eb 13                	jmp    0x140002561
14000254e:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140002553:	8b 7c 24 58          	mov    0x58(%rsp),%edi
140002557:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
14000255c:	4c 8b 74 24 68       	mov    0x68(%rsp),%r14
140002561:	48 85 f6             	test   %rsi,%rsi
140002564:	74 70                	je     0x1400025d6
140002566:	4d 8b c6             	mov    %r14,%r8
140002569:	49 c1 e0 03          	shl    $0x3,%r8
14000256d:	33 d2                	xor    %edx,%edx
14000256f:	48 8b ce             	mov    %rsi,%rcx
140002572:	e8 51 60 00 00       	call   0x1400085c8
140002577:	45 33 c9             	xor    %r9d,%r9d
14000257a:	44 39 4b 10          	cmp    %r9d,0x10(%rbx)
14000257e:	76 35                	jbe    0x1400025b5
140002580:	48 8b 03             	mov    (%rbx),%rax
140002583:	4e 8b 14 c8          	mov    (%rax,%r9,8),%r10
140002587:	4d 85 d2             	test   %r10,%r10
14000258a:	74 20                	je     0x1400025ac
14000258c:	4d 8b 42 10          	mov    0x10(%r10),%r8
140002590:	33 d2                	xor    %edx,%edx
140002592:	41 8b 42 18          	mov    0x18(%r10),%eax
140002596:	f7 f7                	div    %edi
140002598:	48 8b 04 d6          	mov    (%rsi,%rdx,8),%rax
14000259c:	49 89 42 10          	mov    %rax,0x10(%r10)
1400025a0:	4c 89 14 d6          	mov    %r10,(%rsi,%rdx,8)
1400025a4:	4d 8b d0             	mov    %r8,%r10
1400025a7:	4d 85 c0             	test   %r8,%r8
1400025aa:	75 e0                	jne    0x14000258c
1400025ac:	41 ff c1             	inc    %r9d
1400025af:	44 3b 4b 10          	cmp    0x10(%rbx),%r9d
1400025b3:	72 cb                	jb     0x140002580
1400025b5:	48 8b 0b             	mov    (%rbx),%rcx
1400025b8:	e8 bb 53 00 00       	call   0x140007978
1400025bd:	48 89 33             	mov    %rsi,(%rbx)
1400025c0:	89 7b 10             	mov    %edi,0x10(%rbx)
1400025c3:	48 8b cb             	mov    %rbx,%rcx
1400025c6:	e8 e9 00 00 00       	call   0x1400026b4
1400025cb:	48 83 c4 28          	add    $0x28,%rsp
1400025cf:	41 5e                	pop    %r14
1400025d1:	5f                   	pop    %rdi
1400025d2:	5e                   	pop    %rsi
1400025d3:	5b                   	pop    %rbx
1400025d4:	c3                   	ret
1400025d5:	cc                   	int3
1400025d6:	b9 0e 00 07 80       	mov    $0x8007000e,%ecx
1400025db:	e8 ec f1 ff ff       	call   0x1400017cc
1400025e0:	cc                   	int3
1400025e1:	cc                   	int3
1400025e2:	cc                   	int3
1400025e3:	cc                   	int3
1400025e4:	cc                   	int3
1400025e5:	cc                   	int3
1400025e6:	cc                   	int3
1400025e7:	cc                   	int3
1400025e8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400025ed:	57                   	push   %rdi
1400025ee:	48 83 ec 20          	sub    $0x20,%rsp
1400025f2:	48 8b da             	mov    %rdx,%rbx
1400025f5:	48 8b f9             	mov    %rcx,%rdi
1400025f8:	48 85 d2             	test   %rdx,%rdx
1400025fb:	0f 84 a2 00 00 00    	je     0x1400026a3
140002601:	48 8d 4a 08          	lea    0x8(%rdx),%rcx
140002605:	e8 26 03 00 00       	call   0x140002930
14000260a:	48 8b 13             	mov    (%rbx),%rdx
14000260d:	48 83 ea 18          	sub    $0x18,%rdx
140002611:	83 c8 ff             	or     $0xffffffff,%eax
140002614:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
140002619:	83 e8 01             	sub    $0x1,%eax
14000261c:	7f 10                	jg     0x14000262e
14000261e:	48 8b 0a             	mov    (%rdx),%rcx
140002621:	48 8b 01             	mov    (%rcx),%rax
140002624:	48 8b 40 08          	mov    0x8(%rax),%rax
140002628:	ff 15 a2 80 00 00    	call   *0x80a2(%rip)        # 0x14000a6d0
14000262e:	48 8b 47 40          	mov    0x40(%rdi),%rax
140002632:	48 89 43 10          	mov    %rax,0x10(%rbx)
140002636:	48 8b 57 08          	mov    0x8(%rdi),%rdx
14000263a:	48 ff ca             	dec    %rdx
14000263d:	48 89 5f 40          	mov    %rbx,0x40(%rdi)
140002641:	48 8b c2             	mov    %rdx,%rax
140002644:	48 89 57 08          	mov    %rdx,0x8(%rdi)
140002648:	48 3b 57 28          	cmp    0x28(%rdi),%rdx
14000264c:	73 1c                	jae    0x14000266a
14000264e:	83 7f 30 00          	cmpl   $0x0,0x30(%rdi)
140002652:	75 16                	jne    0x14000266a
140002654:	48 8b cf             	mov    %rdi,%rcx
140002657:	e8 70 01 00 00       	call   0x1400027cc
14000265c:	8b d0                	mov    %eax,%edx
14000265e:	48 8b cf             	mov    %rdi,%rcx
140002661:	e8 6a fe ff ff       	call   0x1400024d0
140002666:	48 8b 47 08          	mov    0x8(%rdi),%rax
14000266a:	48 85 c0             	test   %rax,%rax
14000266d:	75 28                	jne    0x140002697
14000266f:	48 21 47 40          	and    %rax,0x40(%rdi)
140002673:	48 8b 4f 38          	mov    0x38(%rdi),%rcx
140002677:	48 85 c9             	test   %rcx,%rcx
14000267a:	74 1b                	je     0x140002697
14000267c:	48 8b 19             	mov    (%rcx),%rbx
14000267f:	48 ff 15 a2 7e 00 00 	rex.W call *0x7ea2(%rip)        # 0x14000a528
140002686:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14000268b:	48 8b cb             	mov    %rbx,%rcx
14000268e:	48 85 db             	test   %rbx,%rbx
140002691:	75 e9                	jne    0x14000267c
140002693:	48 21 5f 38          	and    %rbx,0x38(%rdi)
140002697:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14000269c:	48 83 c4 20          	add    $0x20,%rsp
1400026a0:	5f                   	pop    %rdi
1400026a1:	c3                   	ret
1400026a2:	cc                   	int3
1400026a3:	b9 05 40 00 80       	mov    $0x80004005,%ecx
1400026a8:	e8 1f f1 ff ff       	call   0x1400017cc
1400026ad:	cc                   	int3
1400026ae:	cc                   	int3
1400026af:	cc                   	int3
1400026b0:	cc                   	int3
1400026b1:	cc                   	int3
1400026b2:	cc                   	int3
1400026b3:	cc                   	int3
1400026b4:	8b 41 10             	mov    0x10(%rcx),%eax
1400026b7:	0f 57 c0             	xorps  %xmm0,%xmm0
1400026ba:	f3 0f 10 15 06 8d 00 	movss  0x8d06(%rip),%xmm2        # 0x14000b3c8
1400026c1:	00
1400026c2:	33 d2                	xor    %edx,%edx
1400026c4:	49 b8 00 00 00 00 00 	movabs $0x8000000000000000,%r8
1400026cb:	00 00 80
1400026ce:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
1400026d3:	0f 28 c8             	movaps %xmm0,%xmm1
1400026d6:	f3 0f 59 49 1c       	mulss  0x1c(%rcx),%xmm1
1400026db:	0f 2f ca             	comiss %xmm2,%xmm1
1400026de:	72 0c                	jb     0x1400026ec
1400026e0:	f3 0f 5c ca          	subss  %xmm2,%xmm1
1400026e4:	0f 2f ca             	comiss %xmm2,%xmm1
1400026e7:	73 03                	jae    0x1400026ec
1400026e9:	49 8b d0             	mov    %r8,%rdx
1400026ec:	f3 0f 59 41 18       	mulss  0x18(%rcx),%xmm0
1400026f1:	f3 48 0f 2c c1       	cvttss2si %xmm1,%rax
1400026f6:	48 03 c2             	add    %rdx,%rax
1400026f9:	33 d2                	xor    %edx,%edx
1400026fb:	0f 2f c2             	comiss %xmm2,%xmm0
1400026fe:	48 89 41 20          	mov    %rax,0x20(%rcx)
140002702:	72 0c                	jb     0x140002710
140002704:	f3 0f 5c c2          	subss  %xmm2,%xmm0
140002708:	0f 2f c2             	comiss %xmm2,%xmm0
14000270b:	73 03                	jae    0x140002710
14000270d:	49 8b d0             	mov    %r8,%rdx
140002710:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
140002715:	48 03 c2             	add    %rdx,%rax
140002718:	33 d2                	xor    %edx,%edx
14000271a:	48 83 f8 11          	cmp    $0x11,%rax
14000271e:	48 0f 42 c2          	cmovb  %rdx,%rax
140002722:	48 89 41 28          	mov    %rax,0x28(%rcx)
140002726:	c3                   	ret
140002727:	cc                   	int3
140002728:	cc                   	int3
140002729:	cc                   	int3
14000272a:	cc                   	int3
14000272b:	cc                   	int3
14000272c:	cc                   	int3
14000272d:	cc                   	int3
14000272e:	cc                   	int3
14000272f:	cc                   	int3
140002730:	89 54 24 10          	mov    %edx,0x10(%rsp)
140002734:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140002739:	53                   	push   %rbx
14000273a:	56                   	push   %rsi
14000273b:	57                   	push   %rdi
14000273c:	48 83 ec 20          	sub    $0x20,%rsp
140002740:	41 8a f0             	mov    %r8b,%sil
140002743:	8b fa                	mov    %edx,%edi
140002745:	48 8b d9             	mov    %rcx,%rbx
140002748:	48 8b 09             	mov    (%rcx),%rcx
14000274b:	48 85 c9             	test   %rcx,%rcx
14000274e:	74 09                	je     0x140002759
140002750:	e8 23 52 00 00       	call   0x140007978
140002755:	48 83 23 00          	andq   $0x0,(%rbx)
140002759:	40 84 f6             	test   %sil,%sil
14000275c:	74 4f                	je     0x1400027ad
14000275e:	48 8b f7             	mov    %rdi,%rsi
140002761:	48 89 7c 24 58       	mov    %rdi,0x58(%rsp)
140002766:	b8 08 00 00 00       	mov    $0x8,%eax
14000276b:	48 f7 e6             	mul    %rsi
14000276e:	48 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%rcx
140002775:	48 0f 40 c1          	cmovo  %rcx,%rax
140002779:	48 8b c8             	mov    %rax,%rcx
14000277c:	e8 3f 5f 00 00       	call   0x1400086c0
140002781:	48 89 03             	mov    %rax,(%rbx)
140002784:	eb 11                	jmp    0x140002797
140002786:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14000278b:	48 8b 03             	mov    (%rbx),%rax
14000278e:	8b 7c 24 48          	mov    0x48(%rsp),%edi
140002792:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140002797:	48 85 c0             	test   %rax,%rax
14000279a:	74 1e                	je     0x1400027ba
14000279c:	4c 8b c6             	mov    %rsi,%r8
14000279f:	49 c1 e0 03          	shl    $0x3,%r8
1400027a3:	33 d2                	xor    %edx,%edx
1400027a5:	48 8b c8             	mov    %rax,%rcx
1400027a8:	e8 1b 5e 00 00       	call   0x1400085c8
1400027ad:	89 7b 10             	mov    %edi,0x10(%rbx)
1400027b0:	48 8b cb             	mov    %rbx,%rcx
1400027b3:	e8 fc fe ff ff       	call   0x1400026b4
1400027b8:	b0 01                	mov    $0x1,%al
1400027ba:	48 83 c4 20          	add    $0x20,%rsp
1400027be:	5f                   	pop    %rdi
1400027bf:	5e                   	pop    %rsi
1400027c0:	5b                   	pop    %rbx
1400027c1:	c3                   	ret
1400027c2:	cc                   	int3
1400027c3:	cc                   	int3
1400027c4:	cc                   	int3
1400027c5:	cc                   	int3
1400027c6:	cc                   	int3
1400027c7:	cc                   	int3
1400027c8:	cc                   	int3
1400027c9:	cc                   	int3
1400027ca:	cc                   	int3
1400027cb:	cc                   	int3
1400027cc:	0f 57 c9             	xorps  %xmm1,%xmm1
1400027cf:	48 85 d2             	test   %rdx,%rdx
1400027d2:	78 07                	js     0x1400027db
1400027d4:	f2 48 0f 2a ca       	cvtsi2sd %rdx,%xmm1
1400027d9:	eb 15                	jmp    0x1400027f0
1400027db:	48 8b c2             	mov    %rdx,%rax
1400027de:	83 e2 01             	and    $0x1,%edx
1400027e1:	48 d1 e8             	shr    $1,%rax
1400027e4:	48 0b c2             	or     %rdx,%rax
1400027e7:	f2 48 0f 2a c8       	cvtsi2sd %rax,%xmm1
1400027ec:	f2 0f 58 c9          	addsd  %xmm1,%xmm1
1400027f0:	f3 0f 10 41 14       	movss  0x14(%rcx),%xmm0
1400027f5:	33 c0                	xor    %eax,%eax
1400027f7:	0f 5a c0             	cvtps2pd %xmm0,%xmm0
1400027fa:	f2 0f 5e c8          	divsd  %xmm0,%xmm1
1400027fe:	f2 0f 10 05 ba 8b 00 	movsd  0x8bba(%rip),%xmm0        # 0x14000b3c0
140002805:	00
140002806:	66 0f 2f c8          	comisd %xmm0,%xmm1
14000280a:	72 17                	jb     0x140002823
14000280c:	f2 0f 5c c8          	subsd  %xmm0,%xmm1
140002810:	66 0f 2f c8          	comisd %xmm0,%xmm1
140002814:	73 0d                	jae    0x140002823
140002816:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
14000281d:	00 00 80
140002820:	48 8b c1             	mov    %rcx,%rax
140002823:	41 b9 ff ff ff ff    	mov    $0xffffffff,%r9d
140002829:	4c 8d 05 d0 83 00 00 	lea    0x83d0(%rip),%r8        # 0x14000ac00
140002830:	f2 48 0f 2c c9       	cvttsd2si %xmm1,%rcx
140002835:	48 03 c8             	add    %rax,%rcx
140002838:	49 3b c9             	cmp    %r9,%rcx
14000283b:	41 0f 47 c9          	cmova  %r9d,%ecx
14000283f:	33 d2                	xor    %edx,%edx
140002841:	83 f9 11             	cmp    $0x11,%ecx
140002844:	76 0d                	jbe    0x140002853
140002846:	49 8b c0             	mov    %r8,%rax
140002849:	ff c2                	inc    %edx
14000284b:	48 8d 40 04          	lea    0x4(%rax),%rax
14000284f:	3b 08                	cmp    (%rax),%ecx
140002851:	77 f6                	ja     0x140002849