140019193:	48 83 fa 02          	cmp    $0x2,%rdx
140019197:	72 39                	jb     0x1400191d2
140019199:	49 8b 00             	mov    (%r8),%rax
14001919c:	48 83 c1 f8          	add    $0xfffffffffffffff8,%rcx
1400191a0:	48 8d 0c d1          	lea    (%rcx,%rdx,8),%rcx
1400191a4:	4d 3b c8             	cmp    %r8,%r9
1400191a7:	77 05                	ja     0x1400191ae
1400191a9:	49 3b c8             	cmp    %r8,%rcx
1400191ac:	73 24                	jae    0x1400191d2
1400191ae:	48 89 3c 24          	mov    %rdi,(%rsp)
1400191b2:	48 83 e2 fe          	and    $0xfffffffffffffffe,%rdx
1400191b6:	49 8b f9             	mov    %r9,%rdi
1400191b9:	48 8d 14 d5 00 00 00 	lea    0x0(,%rdx,8),%rdx
1400191c0:	00
1400191c1:	48 8b ca             	mov    %rdx,%rcx
1400191c4:	48 c1 e9 03          	shr    $0x3,%rcx
1400191c8:	f3 48 ab             	rep stos %rax,%es:(%rdi)
1400191cb:	4c 03 ca             	add    %rdx,%r9
1400191ce:	48 8b 3c 24          	mov    (%rsp),%rdi
1400191d2:	4d 3b ca             	cmp    %r10,%r9
1400191d5:	74 18                	je     0x1400191ef
1400191d7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1400191de:	00 00
1400191e0:	49 8b 00             	mov    (%r8),%rax
1400191e3:	49 89 01             	mov    %rax,(%r9)
1400191e6:	49 83 c1 08          	add    $0x8,%r9
1400191ea:	4d 3b ca             	cmp    %r10,%r9
1400191ed:	75 f1                	jne    0x1400191e0
1400191ef:	48 83 c4 08          	add    $0x8,%rsp
1400191f3:	c3                   	ret
1400191f4:	cc                   	int3
1400191f5:	cc                   	int3
1400191f6:	cc                   	int3
1400191f7:	cc                   	int3
1400191f8:	cc                   	int3
1400191f9:	cc                   	int3
1400191fa:	cc                   	int3
1400191fb:	cc                   	int3
1400191fc:	cc                   	int3
1400191fd:	cc                   	int3
1400191fe:	cc                   	int3
1400191ff:	cc                   	int3
140019200:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140019205:	55                   	push   %rbp
140019206:	56                   	push   %rsi
140019207:	57                   	push   %rdi
140019208:	41 54                	push   %r12
14001920a:	41 55                	push   %r13
14001920c:	41 56                	push   %r14
14001920e:	41 57                	push   %r15
140019210:	48 83 ec 30          	sub    $0x30,%rsp
140019214:	49 8b f8             	mov    %r8,%rdi
140019217:	4c 8b f2             	mov    %rdx,%r14
14001921a:	4c 8b f9             	mov    %rcx,%r15
14001921d:	41 0f b6 00          	movzbl (%r8),%eax
140019221:	44 8b e8             	mov    %eax,%r13d
140019224:	48 b9 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rcx
14001922b:	9c f2 cb
14001922e:	4c 33 e9             	xor    %rcx,%r13
140019231:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
140019238:	01 00 00
14001923b:	4c 0f af e9          	imul   %rcx,%r13
14001923f:	49 8b 4f 30          	mov    0x30(%r15),%rcx
140019243:	49 23 cd             	and    %r13,%rcx
140019246:	48 03 c9             	add    %rcx,%rcx
140019249:	49 8b 57 18          	mov    0x18(%r15),%rdx
14001924d:	48 8b 5c ca 08       	mov    0x8(%rdx,%rcx,8),%rbx
140019252:	4d 8d 47 08          	lea    0x8(%r15),%r8
140019256:	4d 8b 20             	mov    (%r8),%r12
140019259:	49 3b dc             	cmp    %r12,%rbx
14001925c:	75 08                	jne    0x140019266
14001925e:	49 8b dc             	mov    %r12,%rbx
140019261:	49 8b ec             	mov    %r12,%rbp
140019264:	eb 41                	jmp    0x1400192a7
140019266:	48 8b 0c ca          	mov    (%rdx,%rcx,8),%rcx
14001926a:	3a 43 10             	cmp    0x10(%rbx),%al
14001926d:	74 0f                	je     0x14001927e
14001926f:	90                   	nop
140019270:	48 3b d9             	cmp    %rcx,%rbx
140019273:	74 2c                	je     0x1400192a1
140019275:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140019279:	3a 43 10             	cmp    0x10(%rbx),%al
14001927c:	75 f2                	jne    0x140019270
14001927e:	49 89 1e             	mov    %rbx,(%r14)
140019281:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
140019286:	49 8b c6             	mov    %r14,%rax
140019289:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
140019290:	00
140019291:	48 83 c4 30          	add    $0x30,%rsp
140019295:	41 5f                	pop    %r15
140019297:	41 5e                	pop    %r14
140019299:	41 5d                	pop    %r13
14001929b:	41 5c                	pop    %r12
14001929d:	5f                   	pop    %rdi
14001929e:	5e                   	pop    %rsi
14001929f:	5d                   	pop    %rbp
1400192a0:	c3                   	ret
1400192a1:	4c 8b e3             	mov    %rbx,%r12
1400192a4:	48 8b eb             	mov    %rbx,%rbp
1400192a7:	48 b8 aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaa,%rax
1400192ae:	aa aa 0a
1400192b1:	49 39 47 10          	cmp    %rax,0x10(%r15)
1400192b5:	0f 84 ce 01 00 00    	je     0x140019489
1400192bb:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
1400192c0:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1400192c7:	00 00
1400192c9:	b9 18 00 00 00       	mov    $0x18,%ecx
1400192ce:	e8 f9 bb 00 00       	call   0x140024ecc
1400192d3:	48 8b f0             	mov    %rax,%rsi
1400192d6:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400192db:	0f b6 07             	movzbl (%rdi),%eax
1400192de:	88 46 10             	mov    %al,0x10(%rsi)
1400192e1:	49 8b 4f 10          	mov    0x10(%r15),%rcx
1400192e5:	f3 41 0f 10 1f       	movss  (%r15),%xmm3
1400192ea:	48 83 c1 01          	add    $0x1,%rcx
1400192ee:	0f 57 c0             	xorps  %xmm0,%xmm0
1400192f1:	78 07                	js     0x1400192fa
1400192f3:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
1400192f8:	eb 15                	jmp    0x14001930f
1400192fa:	48 8b c1             	mov    %rcx,%rax
1400192fd:	48 d1 e8             	shr    $1,%rax
140019300:	83 e1 01             	and    $0x1,%ecx
140019303:	48 0b c1             	or     %rcx,%rax
140019306:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
14001930b:	f3 0f 58 c0          	addss  %xmm0,%xmm0
14001930f:	49 8b 7f 38          	mov    0x38(%r15),%rdi
140019313:	0f 57 d2             	xorps  %xmm2,%xmm2
140019316:	48 85 ff             	test   %rdi,%rdi
140019319:	78 07                	js     0x140019322
14001931b:	f3 48 0f 2a d7       	cvtsi2ss %rdi,%xmm2
140019320:	eb 18                	jmp    0x14001933a
140019322:	48 8b cf             	mov    %rdi,%rcx
140019325:	48 d1 e9             	shr    $1,%rcx
140019328:	48 8b c7             	mov    %rdi,%rax
14001932b:	83 e0 01             	and    $0x1,%eax
14001932e:	48 0b c8             	or     %rax,%rcx
140019331:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
140019336:	f3 0f 58 d2          	addss  %xmm2,%xmm2
14001933a:	0f 28 c8             	movaps %xmm0,%xmm1
14001933d:	f3 0f 5e ca          	divss  %xmm2,%xmm1
140019341:	0f 2f cb             	comiss %xmm3,%xmm1
140019344:	0f 97 c0             	seta   %al
140019347:	84 c0                	test   %al,%al
140019349:	0f 84 d2 00 00 00    	je     0x140019421
14001934f:	f3 0f 5e c3          	divss  %xmm3,%xmm0
140019353:	e8 f4 f9 02 00       	call   0x140048d4c
140019358:	33 c9                	xor    %ecx,%ecx
14001935a:	f3 0f 10 0d de dd 04 	movss  0x4ddde(%rip),%xmm1        # 0x140067140
140019361:	00
140019362:	0f 2f c1             	comiss %xmm1,%xmm0
140019365:	72 16                	jb     0x14001937d
140019367:	f3 0f 5c c1          	subss  %xmm1,%xmm0
14001936b:	0f 2f c1             	comiss %xmm1,%xmm0
14001936e:	73 0d                	jae    0x14001937d
140019370:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140019377:	00 00 80
14001937a:	48 8b c8             	mov    %rax,%rcx
14001937d:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
140019382:	48 03 c1             	add    %rcx,%rax
140019385:	b9 08 00 00 00       	mov    $0x8,%ecx
14001938a:	48 3b c1             	cmp    %rcx,%rax
14001938d:	48 0f 47 c8          	cmova  %rax,%rcx
140019391:	48 3b f9             	cmp    %rcx,%rdi
140019394:	73 19                	jae    0x1400193af
140019396:	48 81 ff 00 02 00 00 	cmp    $0x200,%rdi
14001939d:	73 0d                	jae    0x1400193ac
14001939f:	48 8d 3c fd 00 00 00 	lea    0x0(,%rdi,8),%rdi
1400193a6:	00
1400193a7:	48 3b f9             	cmp    %rcx,%rdi
1400193aa:	73 03                	jae    0x1400193af
1400193ac:	48 8b f9             	mov    %rcx,%rdi
1400193af:	48 8b d7             	mov    %rdi,%rdx
1400193b2:	49 8b cf             	mov    %r15,%rcx
1400193b5:	e8 06 01 00 00       	call   0x1400194c0
1400193ba:	49 8b 57 30          	mov    0x30(%r15),%rdx
1400193be:	49 23 d5             	and    %r13,%rdx
1400193c1:	48 03 d2             	add    %rdx,%rdx
1400193c4:	49 8b 4f 18          	mov    0x18(%r15),%rcx
1400193c8:	48 8b 44 d1 08       	mov    0x8(%rcx,%rdx,8),%rax
1400193cd:	49 8b 5f 08          	mov    0x8(%r15),%rbx
1400193d1:	48 3b c3             	cmp    %rbx,%rax
1400193d4:	75 0b                	jne    0x1400193e1
1400193d6:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1400193dd:	00 00
1400193df:	eb 28                	jmp    0x140019409
1400193e1:	48 8b 14 d1          	mov    (%rcx,%rdx,8),%rdx
1400193e5:	0f b6 4e 10          	movzbl 0x10(%rsi),%ecx
1400193e9:	3a 48 10             	cmp    0x10(%rax),%cl
1400193ec:	74 13                	je     0x140019401
1400193ee:	66 90                	xchg   %ax,%ax
1400193f0:	48 8b d8             	mov    %rax,%rbx
1400193f3:	48 3b c2             	cmp    %rdx,%rax
1400193f6:	74 5d                	je     0x140019455
1400193f8:	48 8b 40 08          	mov    0x8(%rax),%rax
1400193fc:	3a 48 10             	cmp    0x10(%rax),%cl
1400193ff:	75 ef                	jne    0x1400193f0
140019401:	48 8b 18             	mov    (%rax),%rbx
140019404:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140019409:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14001940e:	48 8b eb             	mov    %rbx,%rbp
140019411:	0f 28 44 24 20       	movaps 0x20(%rsp),%xmm0
140019416:	66 0f 7f 44 24 20    	movdqa %xmm0,0x20(%rsp)
14001941c:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
140019421:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140019425:	49 ff 47 10          	incq   0x10(%r15)
140019429:	4c 89 26             	mov    %r12,(%rsi)
14001942c:	48 89 56 08          	mov    %rdx,0x8(%rsi)
140019430:	48 89 32             	mov    %rsi,(%rdx)
140019433:	48 89 73 08          	mov    %rsi,0x8(%rbx)
140019437:	49 8b 4f 18          	mov    0x18(%r15),%rcx
14001943b:	49 8b 47 30          	mov    0x30(%r15),%rax
14001943f:	49 23 c5             	and    %r13,%rax
140019442:	48 03 c0             	add    %rax,%rax
140019445:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
140019449:	4d 3b 47 08          	cmp    0x8(%r15),%r8
14001944d:	75 16                	jne    0x140019465
14001944f:	48 89 34 c1          	mov    %rsi,(%rcx,%rax,8)
140019453:	eb 22                	jmp    0x140019477
140019455:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14001945a:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140019461:	00 00
140019463:	eb a9                	jmp    0x14001940e
140019465:	4c 3b c5             	cmp    %rbp,%r8
140019468:	75 06                	jne    0x140019470
14001946a:	48 89 34 c1          	mov    %rsi,(%rcx,%rax,8)
14001946e:	eb 0c                	jmp    0x14001947c
140019470:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
140019475:	75 05                	jne    0x14001947c
140019477:	48 89 74 c1 08       	mov    %rsi,0x8(%rcx,%rax,8)
14001947c:	49 89 36             	mov    %rsi,(%r14)
14001947f:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
140019484:	e9 fd fd ff ff       	jmp    0x140019286
140019489:	48 8d 0d c8 83 04 00 	lea    0x483c8(%rip),%rcx        # 0x140061858
140019490:	e8 bb 9b 00 00       	call   0x140023050
140019495:	cc                   	int3
140019496:	cc                   	int3
140019497:	cc                   	int3
140019498:	cc                   	int3
140019499:	cc                   	int3
14001949a:	cc                   	int3
14001949b:	cc                   	int3
14001949c:	cc                   	int3
14001949d:	cc                   	int3
14001949e:	cc                   	int3
14001949f:	cc                   	int3
1400194a0:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1400194a4:	48 85 c9             	test   %rcx,%rcx
1400194a7:	74 0a                	je     0x1400194b3
1400194a9:	ba 18 00 00 00       	mov    $0x18,%edx
1400194ae:	e9 dd b9 00 00       	jmp    0x140024e90
1400194b3:	c3                   	ret
1400194b4:	cc                   	int3
1400194b5:	cc                   	int3
1400194b6:	cc                   	int3
1400194b7:	cc                   	int3
1400194b8:	cc                   	int3
1400194b9:	cc                   	int3
1400194ba:	cc                   	int3
1400194bb:	cc                   	int3
1400194bc:	cc                   	int3
1400194bd:	cc                   	int3
1400194be:	cc                   	int3
1400194bf:	cc                   	int3
1400194c0:	40 53                	rex push %rbx
1400194c2:	56                   	push   %rsi
1400194c3:	48 83 ec 28          	sub    $0x28,%rsp
1400194c7:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
1400194ce:	ff ff 0f
1400194d1:	48 8b f1             	mov    %rcx,%rsi
1400194d4:	48 0f bd c8          	bsr    %rax,%rcx
1400194d8:	bb 01 00 00 00       	mov    $0x1,%ebx
1400194dd:	8b c3                	mov    %ebx,%eax
1400194df:	48 d3 e0             	shl    %cl,%rax
1400194e2:	48 3b d0             	cmp    %rax,%rdx
1400194e5:	0f 87 50 01 00 00    	ja     0x14001963b
1400194eb:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
1400194ef:	48 89 7c 24 58       	mov    %rdi,0x58(%rsp)
1400194f4:	48 8b 7e 08          	mov    0x8(%rsi),%rdi
1400194f8:	48 0b c3             	or     %rbx,%rax
1400194fb:	48 0f bd c8          	bsr    %rax,%rcx
1400194ff:	4c 8b c7             	mov    %rdi,%r8
140019502:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140019507:	ff c1                	inc    %ecx
140019509:	48 d3 e3             	shl    %cl,%rbx
14001950c:	48 8d 4e 18          	lea    0x18(%rsi),%rcx
140019510:	48 8d 14 1b          	lea    (%rbx,%rbx,1),%rdx
140019514:	e8 27 cc ff ff       	call   0x140016140
140019519:	48 89 5e 38          	mov    %rbx,0x38(%rsi)
14001951d:	48 8d 43 ff          	lea    -0x1(%rbx),%rax
140019521:	48 89 46 30          	mov    %rax,0x30(%rsi)
140019525:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140019529:	48 8b 09             	mov    (%rcx),%rcx
14001952c:	48 3b cf             	cmp    %rdi,%rcx
14001952f:	0f 84 cf 00 00 00    	je     0x140019604
140019535:	48 89 6c 24 50       	mov    %rbp,0x50(%rsp)
14001953a:	48 8b c1             	mov    %rcx,%rax
14001953d:	48 bd b3 01 00 00 00 	movabs $0x100000001b3,%rbp
140019544:	01 00 00
140019547:	48 bb 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rbx
14001954e:	9c f2 cb
140019551:	44 0f b6 48 10       	movzbl 0x10(%rax),%r9d
140019556:	48 8b 09             	mov    (%rcx),%rcx
140019559:	45 8b d9             	mov    %r9d,%r11d
14001955c:	4c 33 db             	xor    %rbx,%r11
14001955f:	4c 0f af dd          	imul   %rbp,%r11
140019563:	4c 23 5e 30          	and    0x30(%rsi),%r11
140019567:	49 c1 e3 04          	shl    $0x4,%r11
14001956b:	4c 03 5e 18          	add    0x18(%rsi),%r11
14001956f:	4d 8b 03             	mov    (%r11),%r8
140019572:	4c 3b c7             	cmp    %rdi,%r8
140019575:	75 09                	jne    0x140019580
140019577:	49 89 03             	mov    %rax,(%r11)
14001957a:	49 89 43 08          	mov    %rax,0x8(%r11)
14001957e:	eb 73                	jmp    0x1400195f3
140019580:	49 8b 53 08          	mov    0x8(%r11),%rdx
140019584:	44 3a 4a 10          	cmp    0x10(%rdx),%r9b
140019588:	75 2f                	jne    0x1400195b9
14001958a:	4c 8b 12             	mov    (%rdx),%r10
14001958d:	4c 3b d0             	cmp    %rax,%r10
140019590:	74 21                	je     0x1400195b3
140019592:	4c 8b 48 08          	mov    0x8(%rax),%r9
140019596:	49 89 09             	mov    %rcx,(%r9)
140019599:	4c 8b 41 08          	mov    0x8(%rcx),%r8
14001959d:	4d 89 10             	mov    %r10,(%r8)
1400195a0:	49 8b 52 08          	mov    0x8(%r10),%rdx
1400195a4:	48 89 02             	mov    %rax,(%rdx)
1400195a7:	4d 89 42 08          	mov    %r8,0x8(%r10)
1400195ab:	4c 89 49 08          	mov    %r9,0x8(%rcx)
1400195af:	48 89 50 08          	mov    %rdx,0x8(%rax)
1400195b3:	49 89 43 08          	mov    %rax,0x8(%r11)
1400195b7:	eb 3a                	jmp    0x1400195f3
1400195b9:	4c 3b c2             	cmp    %rdx,%r8
1400195bc:	74 11                	je     0x1400195cf
1400195be:	66 90                	xchg   %ax,%ax
1400195c0:	48 8b 52 08          	mov    0x8(%rdx),%rdx
1400195c4:	44 3a 4a 10          	cmp    0x10(%rdx),%r9b
1400195c8:	74 4b                	je     0x140019615
1400195ca:	4c 3b c2             	cmp    %rdx,%r8
1400195cd:	75 f1                	jne    0x1400195c0
1400195cf:	4c 8b 50 08          	mov    0x8(%rax),%r10
1400195d3:	49 89 0a             	mov    %rcx,(%r10)
1400195d6:	4c 8b 49 08          	mov    0x8(%rcx),%r9
1400195da:	49 89 11             	mov    %rdx,(%r9)
1400195dd:	4c 8b 42 08          	mov    0x8(%rdx),%r8
1400195e1:	49 89 00             	mov    %rax,(%r8)
1400195e4:	4c 89 4a 08          	mov    %r9,0x8(%rdx)
1400195e8:	4c 89 51 08          	mov    %r10,0x8(%rcx)
1400195ec:	4c 89 40 08          	mov    %r8,0x8(%rax)
1400195f0:	49 89 03             	mov    %rax,(%r11)
1400195f3:	48 8b c1             	mov    %rcx,%rax