140049087:	48 8b 40 08          	mov    0x8(%rax),%rax
14004908b:	48 3b 48 10          	cmp    0x10(%rax),%rcx
14004908f:	75 ee                	jne    0x14004907f
140049091:	48 8b 18             	mov    (%rax),%rbx
140049094:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140049099:	4c 8b fb             	mov    %rbx,%r15
14004909c:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
1400490a1:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1400490a5:	48 ff 45 10          	incq   0x10(%rbp)
1400490a9:	4c 89 26             	mov    %r12,(%rsi)
1400490ac:	48 89 4e 08          	mov    %rcx,0x8(%rsi)
1400490b0:	48 89 31             	mov    %rsi,(%rcx)
1400490b3:	48 89 73 08          	mov    %rsi,0x8(%rbx)
1400490b7:	48 8b 45 18          	mov    0x18(%rbp),%rax
1400490bb:	48 23 7d 30          	and    0x30(%rbp),%rdi
1400490bf:	48 03 ff             	add    %rdi,%rdi
1400490c2:	48 8b 14 f8          	mov    (%rax,%rdi,8),%rdx
1400490c6:	48 3b 55 08          	cmp    0x8(%rbp),%rdx
1400490ca:	75 0d                	jne    0x1400490d9
1400490cc:	48 89 34 f8          	mov    %rsi,(%rax,%rdi,8)
1400490d0:	eb 19                	jmp    0x1400490eb
1400490d2:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400490d7:	eb c0                	jmp    0x140049099
1400490d9:	49 3b d7             	cmp    %r15,%rdx
1400490dc:	75 06                	jne    0x1400490e4
1400490de:	48 89 34 f8          	mov    %rsi,(%rax,%rdi,8)
1400490e2:	eb 0c                	jmp    0x1400490f0
1400490e4:	48 39 4c f8 08       	cmp    %rcx,0x8(%rax,%rdi,8)
1400490e9:	75 05                	jne    0x1400490f0
1400490eb:	48 89 74 f8 08       	mov    %rsi,0x8(%rax,%rdi,8)
1400490f0:	49 89 36             	mov    %rsi,(%r14)
1400490f3:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
1400490f8:	e9 52 fe ff ff       	jmp    0x140048f4f
1400490fd:	cc                   	int3
1400490fe:	90                   	nop
1400490ff:	90                   	nop
140049100:	40 53                	rex push %rbx
140049102:	48 83 ec 20          	sub    $0x20,%rsp
140049106:	48 8b d9             	mov    %rcx,%rbx
140049109:	48 8b 49 08          	mov    0x8(%rcx),%rcx
14004910d:	48 85 c9             	test   %rcx,%rcx
140049110:	74 09                	je     0x14004911b
140049112:	48 83 c1 18          	add    $0x18,%rcx
140049116:	e8 21 fc ff ff       	call   0x140048d3c
14004911b:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14004911f:	48 85 c9             	test   %rcx,%rcx
140049122:	74 06                	je     0x14004912a
140049124:	ff 15 16 9a 1c 00    	call   *0x1c9a16(%rip)        # 0x140212b40
14004912a:	48 83 c4 20          	add    $0x20,%rsp
14004912e:	5b                   	pop    %rbx
14004912f:	c3                   	ret
140049130:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140049135:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14004913a:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14004913f:	41 56                	push   %r14
140049141:	48 83 ec 20          	sub    $0x20,%rsp
140049145:	48 8b 51 10          	mov    0x10(%rcx),%rdx
140049149:	48 8b f1             	mov    %rcx,%rsi
14004914c:	48 83 c2 01          	add    $0x1,%rdx
140049150:	48 8b 59 38          	mov    0x38(%rcx),%rbx
140049154:	0f 57 c0             	xorps  %xmm0,%xmm0
140049157:	78 07                	js     0x140049160
140049159:	f3 48 0f 2a c2       	cvtsi2ss %rdx,%xmm0
14004915e:	eb 15                	jmp    0x140049175
140049160:	48 8b c2             	mov    %rdx,%rax
140049163:	83 e2 01             	and    $0x1,%edx
140049166:	48 d1 e8             	shr    $1,%rax
140049169:	48 0b c2             	or     %rdx,%rax
14004916c:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140049171:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140049175:	f3 0f 5e 01          	divss  (%rcx),%xmm0
140049179:	e8 10 d9 1b 00       	call   0x140206a8e
14004917e:	f3 0f 10 0d 3a 6f 27 	movss  0x276f3a(%rip),%xmm1        # 0x1402c00c0
140049185:	00
140049186:	33 c9                	xor    %ecx,%ecx
140049188:	0f 2f c1             	comiss %xmm1,%xmm0
14004918b:	72 16                	jb     0x1400491a3
14004918d:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140049191:	0f 2f c1             	comiss %xmm1,%xmm0
140049194:	73 0d                	jae    0x1400491a3
140049196:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
14004919d:	00 00 80
1400491a0:	48 8b c8             	mov    %rax,%rcx
1400491a3:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
1400491a8:	48 03 c1             	add    %rcx,%rax
1400491ab:	b9 08 00 00 00       	mov    $0x8,%ecx
1400491b0:	48 3b c1             	cmp    %rcx,%rax
1400491b3:	48 0f 47 c8          	cmova  %rax,%rcx
1400491b7:	48 3b d9             	cmp    %rcx,%rbx
1400491ba:	73 15                	jae    0x1400491d1
1400491bc:	48 81 fb 00 02 00 00 	cmp    $0x200,%rbx
1400491c3:	73 09                	jae    0x1400491ce
1400491c5:	48 c1 e3 03          	shl    $0x3,%rbx
1400491c9:	48 3b d9             	cmp    %rcx,%rbx
1400491cc:	73 03                	jae    0x1400491d1
1400491ce:	48 8b d9             	mov    %rcx,%rbx
1400491d1:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
1400491d8:	ff ff 0f
1400491db:	48 0f bd c8          	bsr    %rax,%rcx
1400491df:	b8 01 00 00 00       	mov    $0x1,%eax
1400491e4:	48 d3 e0             	shl    %cl,%rax
1400491e7:	48 3b d8             	cmp    %rax,%rbx
1400491ea:	76 0e                	jbe    0x1400491fa
1400491ec:	48 8d 0d dd ef 1f 00 	lea    0x1fefdd(%rip),%rcx        # 0x1402481d0
1400491f3:	ff 15 2f 95 1c 00    	call   *0x1c952f(%rip)        # 0x140212728
1400491f9:	cc                   	int3
1400491fa:	48 8d 43 ff          	lea    -0x1(%rbx),%rax
1400491fe:	bf 01 00 00 00       	mov    $0x1,%edi
140049203:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
140049207:	48 83 c8 01          	or     $0x1,%rax
14004920b:	48 0f bd c8          	bsr    %rax,%rcx
14004920f:	4c 8b c3             	mov    %rbx,%r8
140049212:	ff c1                	inc    %ecx
140049214:	48 d3 e7             	shl    %cl,%rdi
140049217:	48 8d 4e 18          	lea    0x18(%rsi),%rcx
14004921b:	48 8d 14 3f          	lea    (%rdi,%rdi,1),%rdx
14004921f:	e8 20 46 fc ff       	call   0x14000d844
140049224:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
140049228:	48 89 7e 38          	mov    %rdi,0x38(%rsi)
14004922c:	48 89 46 30          	mov    %rax,0x30(%rsi)
140049230:	48 8b 46 08          	mov    0x8(%rsi),%rax
140049234:	48 8b 00             	mov    (%rax),%rax
140049237:	48 8b c8             	mov    %rax,%rcx
14004923a:	48 3b c3             	cmp    %rbx,%rax
14004923d:	0f 84 c7 00 00 00    	je     0x14004930a
140049243:	48 8b 09             	mov    (%rcx),%rcx
140049246:	49 bb 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%r11
14004924d:	9c f2 cb
140049250:	45 33 c0             	xor    %r8d,%r8d
140049253:	42 0f b6 54 00 10    	movzbl 0x10(%rax,%r8,1),%edx
140049259:	49 b9 b3 01 00 00 00 	movabs $0x100000001b3,%r9
140049260:	01 00 00
140049263:	4c 33 da             	xor    %rdx,%r11
140049266:	49 ff c0             	inc    %r8
140049269:	4d 0f af d9          	imul   %r9,%r11
14004926d:	49 83 f8 08          	cmp    $0x8,%r8
140049271:	72 e0                	jb     0x140049253
140049273:	4c 23 5e 30          	and    0x30(%rsi),%r11
140049277:	48 8b 7e 18          	mov    0x18(%rsi),%rdi
14004927b:	4d 03 db             	add    %r11,%r11
14004927e:	4a 39 1c df          	cmp    %rbx,(%rdi,%r11,8)
140049282:	75 0b                	jne    0x14004928f
140049284:	4a 89 04 df          	mov    %rax,(%rdi,%r11,8)
140049288:	4a 89 44 df 08       	mov    %rax,0x8(%rdi,%r11,8)
14004928d:	eb 6f                	jmp    0x1400492fe
14004928f:	4e 8b 54 df 08       	mov    0x8(%rdi,%r11,8),%r10
140049294:	48 8b 50 10          	mov    0x10(%rax),%rdx
140049298:	49 3b 52 10          	cmp    0x10(%r10),%rdx
14004929c:	75 35                	jne    0x1400492d3
14004929e:	4d 8b 12             	mov    (%r10),%r10
1400492a1:	4c 3b d0             	cmp    %rax,%r10
1400492a4:	74 e2                	je     0x140049288
1400492a6:	4c 8b 48 08          	mov    0x8(%rax),%r9
1400492aa:	49 89 09             	mov    %rcx,(%r9)
1400492ad:	4c 8b 41 08          	mov    0x8(%rcx),%r8
1400492b1:	4d 89 10             	mov    %r10,(%r8)
1400492b4:	49 8b 52 08          	mov    0x8(%r10),%rdx
1400492b8:	48 89 02             	mov    %rax,(%rdx)
1400492bb:	4d 89 42 08          	mov    %r8,0x8(%r10)
1400492bf:	4c 89 49 08          	mov    %r9,0x8(%rcx)
1400492c3:	48 89 50 08          	mov    %rdx,0x8(%rax)
1400492c7:	eb bf                	jmp    0x140049288
1400492c9:	4d 8b 52 08          	mov    0x8(%r10),%r10
1400492cd:	49 3b 52 10          	cmp    0x10(%r10),%rdx
1400492d1:	74 4d                	je     0x140049320
1400492d3:	4e 39 14 df          	cmp    %r10,(%rdi,%r11,8)
1400492d7:	75 f0                	jne    0x1400492c9
1400492d9:	4c 8b 48 08          	mov    0x8(%rax),%r9
1400492dd:	49 89 09             	mov    %rcx,(%r9)
1400492e0:	4c 8b 41 08          	mov    0x8(%rcx),%r8
1400492e4:	4d 89 10             	mov    %r10,(%r8)
1400492e7:	49 8b 52 08          	mov    0x8(%r10),%rdx
1400492eb:	48 89 02             	mov    %rax,(%rdx)
1400492ee:	4d 89 42 08          	mov    %r8,0x8(%r10)
1400492f2:	4c 89 49 08          	mov    %r9,0x8(%rcx)
1400492f6:	48 89 50 08          	mov    %rdx,0x8(%rax)
1400492fa:	4a 89 04 df          	mov    %rax,(%rdi,%r11,8)
1400492fe:	48 8b c1             	mov    %rcx,%rax
140049301:	48 3b cb             	cmp    %rbx,%rcx
140049304:	0f 85 39 ff ff ff    	jne    0x140049243
14004930a:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14004930f:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140049314:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140049319:	48 83 c4 20          	add    $0x20,%rsp
14004931d:	41 5e                	pop    %r14
14004931f:	c3                   	ret
140049320:	4d 8b 12             	mov    (%r10),%r10
140049323:	4c 8b 48 08          	mov    0x8(%rax),%r9
140049327:	49 89 09             	mov    %rcx,(%r9)
14004932a:	4c 8b 41 08          	mov    0x8(%rcx),%r8
14004932e:	4d 89 10             	mov    %r10,(%r8)
140049331:	49 8b 52 08          	mov    0x8(%r10),%rdx
140049335:	48 89 02             	mov    %rax,(%rdx)
140049338:	4d 89 42 08          	mov    %r8,0x8(%r10)
14004933c:	4c 89 49 08          	mov    %r9,0x8(%rcx)
140049340:	48 89 50 08          	mov    %rdx,0x8(%rax)
140049344:	eb b8                	jmp    0x1400492fe
140049346:	cc                   	int3
140049347:	90                   	nop
140049348:	40 53                	rex push %rbx
14004934a:	56                   	push   %rsi
14004934b:	57                   	push   %rdi
14004934c:	41 54                	push   %r12
14004934e:	41 55                	push   %r13
140049350:	41 56                	push   %r14
140049352:	41 57                	push   %r15
140049354:	48 83 ec 30          	sub    $0x30,%rsp
140049358:	4d 8b e0             	mov    %r8,%r12
14004935b:	48 8b fa             	mov    %rdx,%rdi
14004935e:	48 8b f1             	mov    %rcx,%rsi
140049361:	4c 8b f2             	mov    %rdx,%r14
140049364:	4c 2b 31             	sub    (%rcx),%r14
140049367:	49 c1 fe 03          	sar    $0x3,%r14
14004936b:	48 8b 41 08          	mov    0x8(%rcx),%rax
14004936f:	48 2b 01             	sub    (%rcx),%rax
140049372:	48 c1 f8 03          	sar    $0x3,%rax
140049376:	49 b9 ff ff ff ff ff 	movabs $0x1fffffffffffffff,%r9
14004937d:	ff ff 1f
140049380:	49 3b c1             	cmp    %r9,%rax
140049383:	0f 84 ae 01 00 00    	je     0x140049537
140049389:	4c 8d 40 01          	lea    0x1(%rax),%r8
14004938d:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
140049392:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140049396:	48 2b 0e             	sub    (%rsi),%rcx
140049399:	48 c1 f9 03          	sar    $0x3,%rcx
14004939d:	48 8b d1             	mov    %rcx,%rdx
1400493a0:	48 d1 ea             	shr    $1,%rdx
1400493a3:	49 8b c1             	mov    %r9,%rax
1400493a6:	48 2b c2             	sub    %rdx,%rax
1400493a9:	48 3b c8             	cmp    %rax,%rcx
1400493ac:	76 05                	jbe    0x1400493b3
1400493ae:	49 8b c1             	mov    %r9,%rax
1400493b1:	eb 0b                	jmp    0x1400493be
1400493b3:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
1400493b7:	49 3b c0             	cmp    %r8,%rax
1400493ba:	49 0f 42 c0          	cmovb  %r8,%rax
1400493be:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
1400493c5:	00
1400493c6:	49 3b c1             	cmp    %r9,%rax
1400493c9:	0f 87 6e 01 00 00    	ja     0x14004953d
1400493cf:	4c 8d 3c c5 00 00 00 	lea    0x0(,%rax,8),%r15
1400493d6:	00
1400493d7:	4d 85 ff             	test   %r15,%r15
1400493da:	75 3f                	jne    0x14004941b
1400493dc:	33 db                	xor    %ebx,%ebx
1400493de:	48 89 5c 24 70       	mov    %rbx,0x70(%rsp)
1400493e3:	4e 8d 04 f5 00 00 00 	lea    0x0(,%r14,8),%r8
1400493ea:	00
1400493eb:	4d 8d 2c 18          	lea    (%r8,%rbx,1),%r13
1400493ef:	49 8d 45 08          	lea    0x8(%r13),%rax
1400493f3:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400493f8:	49 8b 04 24          	mov    (%r12),%rax
1400493fc:	49 83 24 24 00       	andq   $0x0,(%r12)
140049401:	49 89 45 00          	mov    %rax,0x0(%r13)
140049405:	4c 89 6c 24 78       	mov    %r13,0x78(%rsp)
14004940a:	4c 8b 4e 08          	mov    0x8(%rsi),%r9
14004940e:	48 8b 0e             	mov    (%rsi),%rcx
140049411:	48 8b d3             	mov    %rbx,%rdx
140049414:	49 3b f9             	cmp    %r9,%rdi
140049417:	75 5b                	jne    0x140049474
140049419:	eb 40                	jmp    0x14004945b
14004941b:	0f ae e8             	lfence
14004941e:	49 8b cf             	mov    %r15,%rcx
140049421:	49 81 ff 00 10 00 00 	cmp    $0x1000,%r15
140049428:	72 0a                	jb     0x140049434
14004942a:	e8 25 c4 fb ff       	call   0x140005854
14004942f:	48 8b d8             	mov    %rax,%rbx
140049432:	eb aa                	jmp    0x1400493de
140049434:	ff 15 16 97 1c 00    	call   *0x1c9716(%rip)        # 0x140212b50
14004943a:	48 8b d8             	mov    %rax,%rbx
14004943d:	48 85 c0             	test   %rax,%rax
140049440:	75 9c                	jne    0x1400493de
140049442:	ff 15 e8 96 1c 00    	call   *0x1c96e8(%rip)        # 0x140212b30
140049448:	90                   	nop
140049449:	48 8b 01             	mov    (%rcx),%rax
14004944c:	48 83 21 00          	andq   $0x0,(%rcx)
140049450:	48 89 02             	mov    %rax,(%rdx)
140049453:	48 8d 52 08          	lea    0x8(%rdx),%rdx
140049457:	48 83 c1 08          	add    $0x8,%rcx
14004945b:	49 3b c9             	cmp    %r9,%rcx
14004945e:	75 e9                	jne    0x140049449
140049460:	eb 40                	jmp    0x1400494a2
140049462:	48 8b 01             	mov    (%rcx),%rax
140049465:	48 83 21 00          	andq   $0x0,(%rcx)
140049469:	48 89 02             	mov    %rax,(%rdx)
14004946c:	48 8d 52 08          	lea    0x8(%rdx),%rdx
140049470:	48 83 c1 08          	add    $0x8,%rcx
140049474:	48 3b cf             	cmp    %rdi,%rcx
140049477:	75 e9                	jne    0x140049462
140049479:	48 89 5c 24 78       	mov    %rbx,0x78(%rsp)
14004947e:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140049482:	48 3b f9             	cmp    %rcx,%rdi
140049485:	74 1b                	je     0x1400494a2
140049487:	4c 2b c7             	sub    %rdi,%r8
14004948a:	4c 03 c3             	add    %rbx,%r8
14004948d:	48 8b 07             	mov    (%rdi),%rax
140049490:	48 83 27 00          	andq   $0x0,(%rdi)
140049494:	49 89 44 38 08       	mov    %rax,0x8(%r8,%rdi,1)
140049499:	48 83 c7 08          	add    $0x8,%rdi
14004949d:	48 3b f9             	cmp    %rcx,%rdi
1400494a0:	75 eb                	jne    0x14004948d
1400494a2:	48 8b 3e             	mov    (%rsi),%rdi
1400494a5:	48 85 ff             	test   %rdi,%rdi
1400494a8:	74 58                	je     0x140049502
1400494aa:	4c 8b 76 08          	mov    0x8(%rsi),%r14
1400494ae:	eb 1d                	jmp    0x1400494cd
1400494b0:	48 8b 0f             	mov    (%rdi),%rcx
1400494b3:	48 85 c9             	test   %rcx,%rcx
1400494b6:	74 11                	je     0x1400494c9
1400494b8:	48 83 27 00          	andq   $0x0,(%rdi)
1400494bc:	48 8b 01             	mov    (%rcx),%rax
1400494bf:	48 8b 40 10          	mov    0x10(%rax),%rax
1400494c3:	ff 15 67 99 1c 00    	call   *0x1c9967(%rip)        # 0x140212e30
1400494c9:	48 83 c7 08          	add    $0x8,%rdi
1400494cd:	49 3b fe             	cmp    %r14,%rdi
1400494d0:	75 de                	jne    0x1400494b0
1400494d2:	48 8b 0e             	mov    (%rsi),%rcx
1400494d5:	48 8b 46 10          	mov    0x10(%rsi),%rax
1400494d9:	48 2b c1             	sub    %rcx,%rax
1400494dc:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
1400494e0:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
1400494e6:	72 14                	jb     0x1400494fc
1400494e8:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
1400494ec:	48 2b ca             	sub    %rdx,%rcx
1400494ef:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1400494f3:	48 83 f8 1f          	cmp    $0x1f,%rax
1400494f7:	77 37                	ja     0x140049530
1400494f9:	48 8b ca             	mov    %rdx,%rcx
1400494fc:	ff 15 3e 96 1c 00    	call   *0x1c963e(%rip)        # 0x140212b40
140049502:	0f ae e8             	lfence
140049505:	48 89 1e             	mov    %rbx,(%rsi)
140049508:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
14004950d:	48 8d 0c c3          	lea    (%rbx,%rax,8),%rcx
140049511:	48 89 4e 08          	mov    %rcx,0x8(%rsi)
140049515:	49 8d 0c 1f          	lea    (%r15,%rbx,1),%rcx
140049519:	48 89 4e 10          	mov    %rcx,0x10(%rsi)
14004951d:	49 8b c5             	mov    %r13,%rax
140049520:	48 83 c4 30          	add    $0x30,%rsp
140049524:	41 5f                	pop    %r15
140049526:	41 5e                	pop    %r14
140049528:	41 5d                	pop    %r13
14004952a:	41 5c                	pop    %r12
14004952c:	5f                   	pop    %rdi
14004952d:	5e                   	pop    %rsi
14004952e:	5b                   	pop    %rbx
14004952f:	c3                   	ret
140049530:	ff 15 4a 96 1c 00    	call   *0x1c964a(%rip)        # 0x140212b80
140049536:	cc                   	int3
140049537:	e8 64 b1 fb ff       	call   0x1400046a0
14004953c:	cc                   	int3