1400242ae:	48 83 ec 20          	sub    $0x20,%rsp
1400242b2:	48 8b d9             	mov    %rcx,%rbx
1400242b5:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1400242ba:	e8 a5 3e ff ff       	call   0x140018164
1400242bf:	48 8b 10             	mov    (%rax),%rdx
1400242c2:	48 83 20 00          	andq   $0x0,(%rax)
1400242c6:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1400242ca:	48 89 53 08          	mov    %rdx,0x8(%rbx)
1400242ce:	bb 01 00 00 00       	mov    $0x1,%ebx
1400242d3:	48 85 c9             	test   %rcx,%rcx
1400242d6:	74 07                	je     0x1400242df
1400242d8:	8b d3                	mov    %ebx,%edx
1400242da:	e8 c5 e1 fe ff       	call   0x1400124a4
1400242df:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1400242e4:	48 85 c9             	test   %rcx,%rcx
1400242e7:	74 07                	je     0x1400242f0
1400242e9:	8b d3                	mov    %ebx,%edx
1400242eb:	e8 b4 e1 fe ff       	call   0x1400124a4
1400242f0:	48 83 c4 20          	add    $0x20,%rsp
1400242f4:	5b                   	pop    %rbx
1400242f5:	c3                   	ret
1400242f6:	90                   	nop
1400242f7:	90                   	nop
1400242f8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400242fd:	57                   	push   %rdi
1400242fe:	48 83 ec 20          	sub    $0x20,%rsp
140024302:	8b fa                	mov    %edx,%edi
140024304:	48 8b d9             	mov    %rcx,%rbx
140024307:	e8 5c e4 ff ff       	call   0x140022768
14002430c:	4c 8b 40 08          	mov    0x8(%rax),%r8
140024310:	49 8b 00             	mov    (%r8),%rax
140024313:	eb 0c                	jmp    0x140024321
140024315:	48 8d 50 10          	lea    0x10(%rax),%rdx
140024319:	39 7a 20             	cmp    %edi,0x20(%rdx)
14002431c:	74 38                	je     0x140024356
14002431e:	48 8b 00             	mov    (%rax),%rax
140024321:	49 3b c0             	cmp    %r8,%rax
140024324:	75 ef                	jne    0x140024315
140024326:	0f 57 c0             	xorps  %xmm0,%xmm0
140024329:	0f 11 03             	movups %xmm0,(%rbx)
14002432c:	48 83 63 10 00       	andq   $0x0,0x10(%rbx)
140024331:	48 83 63 18 00       	andq   $0x0,0x18(%rbx)
140024336:	45 33 c0             	xor    %r8d,%r8d
140024339:	48 8d 15 18 31 01 00 	lea    0x13118(%rip),%rdx        # 0x140037458
140024340:	48 8b cb             	mov    %rbx,%rcx
140024343:	e8 c8 45 fe ff       	call   0x140008910
140024348:	48 8b c3             	mov    %rbx,%rax
14002434b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140024350:	48 83 c4 20          	add    $0x20,%rsp
140024354:	5f                   	pop    %rdi
140024355:	c3                   	ret
140024356:	0f 57 c0             	xorps  %xmm0,%xmm0
140024359:	0f 11 03             	movups %xmm0,(%rbx)
14002435c:	48 83 63 10 00       	andq   $0x0,0x10(%rbx)
140024361:	48 83 63 18 00       	andq   $0x0,0x18(%rbx)
140024366:	4c 8b 42 10          	mov    0x10(%rdx),%r8
14002436a:	48 83 7a 18 07       	cmpq   $0x7,0x18(%rdx)
14002436f:	76 03                	jbe    0x140024374
140024371:	48 8b 12             	mov    (%rdx),%rdx
140024374:	48 8b cb             	mov    %rbx,%rcx
140024377:	e8 14 a9 fe ff       	call   0x14000ec90
14002437c:	eb ca                	jmp    0x140024348
14002437e:	cc                   	int3
14002437f:	90                   	nop
140024380:	48 8b c4             	mov    %rsp,%rax
140024383:	48 89 58 08          	mov    %rbx,0x8(%rax)
140024387:	48 89 70 10          	mov    %rsi,0x10(%rax)
14002438b:	48 89 78 18          	mov    %rdi,0x18(%rax)
14002438f:	4c 89 60 20          	mov    %r12,0x20(%rax)
140024393:	55                   	push   %rbp
140024394:	41 56                	push   %r14
140024396:	41 57                	push   %r15
140024398:	48 8d 68 a1          	lea    -0x5f(%rax),%rbp
14002439c:	48 81 ec b0 00 00 00 	sub    $0xb0,%rsp
1400243a3:	33 c0                	xor    %eax,%eax
1400243a5:	45 33 e4             	xor    %r12d,%r12d
1400243a8:	0f 57 c9             	xorps  %xmm1,%xmm1
1400243ab:	48 89 45 17          	mov    %rax,0x17(%rbp)
1400243af:	48 8d 45 07          	lea    0x7(%rbp),%rax
1400243b3:	44 88 65 3f          	mov    %r12b,0x3f(%rbp)
1400243b7:	0f 57 c0             	xorps  %xmm0,%xmm0
1400243ba:	48 83 cf ff          	or     $0xffffffffffffffff,%rdi
1400243be:	49 8b d9             	mov    %r9,%rbx
1400243c1:	45 8b f0             	mov    %r8d,%r14d
1400243c4:	0f 11 4d 2f          	movups %xmm1,0x2f(%rbp)
1400243c8:	48 89 45 2f          	mov    %rax,0x2f(%rbp)
1400243cc:	48 8b f2             	mov    %rdx,%rsi
1400243cf:	4c 8b f9             	mov    %rcx,%r15
1400243d2:	4c 8b cf             	mov    %rdi,%r9
1400243d5:	0f 11 45 07          	movups %xmm0,0x7(%rbp)
1400243d9:	0f 11 4d 1f          	movups %xmm1,0x1f(%rbp)
1400243dd:	49 ff c1             	inc    %r9
1400243e0:	66 46 39 24 4a       	cmp    %r12w,(%rdx,%r9,2)
1400243e5:	75 f6                	jne    0x1400243dd
1400243e7:	4c 8b c6             	mov    %rsi,%r8
1400243ea:	44 89 74 24 20       	mov    %r14d,0x20(%rsp)
1400243ef:	49 8b d7             	mov    %r15,%rdx
1400243f2:	48 8d 4d 07          	lea    0x7(%rbp),%rcx
1400243f6:	e8 3f bd 00 00       	call   0x14003013a
1400243fb:	33 c0                	xor    %eax,%eax
1400243fd:	44 88 65 ff          	mov    %r12b,-0x1(%rbp)
140024401:	0f 57 c9             	xorps  %xmm1,%xmm1
140024404:	48 89 45 d7          	mov    %rax,-0x29(%rbp)
140024408:	48 8d 45 c7          	lea    -0x39(%rbp),%rax
14002440c:	0f 57 c0             	xorps  %xmm0,%xmm0
14002440f:	0f 11 4d ef          	movups %xmm1,-0x11(%rbp)
140024413:	48 89 45 ef          	mov    %rax,-0x11(%rbp)
140024417:	0f 11 45 c7          	movups %xmm0,-0x39(%rbp)
14002441b:	0f 11 4d df          	movups %xmm1,-0x21(%rbp)
14002441f:	48 ff c7             	inc    %rdi
140024422:	66 44 39 24 7e       	cmp    %r12w,(%rsi,%rdi,2)
140024427:	75 f6                	jne    0x14002441f
140024429:	4c 8b cf             	mov    %rdi,%r9
14002442c:	44 89 74 24 20       	mov    %r14d,0x20(%rsp)
140024431:	49 8d 57 20          	lea    0x20(%r15),%rdx
140024435:	4c 8b c6             	mov    %rsi,%r8
140024438:	48 8d 4d c7          	lea    -0x39(%rbp),%rcx
14002443c:	e8 f9 bc 00 00       	call   0x14003013a
140024441:	8a 45 3f             	mov    0x3f(%rbp),%al
140024444:	48 8b d3             	mov    %rbx,%rdx
140024447:	f6 d8                	neg    %al
140024449:	48 8d 45 1f          	lea    0x1f(%rbp),%rax
14002444d:	48 1b c9             	sbb    %rcx,%rcx
140024450:	48 23 c8             	and    %rax,%rcx
140024453:	e8 68 be 00 00       	call   0x1400302c0
140024458:	40 8a f8             	mov    %al,%dil
14002445b:	84 c0                	test   %al,%al
14002445d:	74 27                	je     0x140024486
14002445f:	8a 45 ff             	mov    -0x1(%rbp),%al
140024462:	f6 d8                	neg    %al
140024464:	48 8d 45 df          	lea    -0x21(%rbp),%rax
140024468:	48 1b c9             	sbb    %rcx,%rcx
14002446b:	48 23 c8             	and    %rax,%rcx
14002446e:	48 83 7b 18 07       	cmpq   $0x7,0x18(%rbx)
140024473:	76 03                	jbe    0x140024478
140024475:	48 8b 1b             	mov    (%rbx),%rbx
140024478:	48 8b d3             	mov    %rbx,%rdx
14002447b:	e8 2e be 00 00       	call   0x1400302ae
140024480:	85 c0                	test   %eax,%eax
140024482:	40 0f 95 c7          	setne  %dil
140024486:	8a 45 ff             	mov    -0x1(%rbp),%al
140024489:	84 c0                	test   %al,%al
14002448b:	74 39                	je     0x1400244c6
14002448d:	f6 d8                	neg    %al
14002448f:	48 8d 45 df          	lea    -0x21(%rbp),%rax
140024493:	48 1b c9             	sbb    %rcx,%rcx
140024496:	48 23 c8             	and    %rax,%rcx
140024499:	e8 66 bc 00 00       	call   0x140030104
14002449e:	48 8b 4d c7          	mov    -0x39(%rbp),%rcx
1400244a2:	4c 89 65 c7          	mov    %r12,-0x39(%rbp)
1400244a6:	48 85 c9             	test   %rcx,%rcx
1400244a9:	74 05                	je     0x1400244b0
1400244ab:	e8 06 bc 00 00       	call   0x1400300b6
1400244b0:	48 8b 4d df          	mov    -0x21(%rbp),%rcx
1400244b4:	4c 89 65 df          	mov    %r12,-0x21(%rbp)
1400244b8:	48 85 c9             	test   %rcx,%rcx
1400244bb:	74 05                	je     0x1400244c2
1400244bd:	e8 f4 bb 00 00       	call   0x1400300b6
1400244c2:	44 88 65 ff          	mov    %r12b,-0x1(%rbp)
1400244c6:	48 8b 4d df          	mov    -0x21(%rbp),%rcx
1400244ca:	4c 89 65 df          	mov    %r12,-0x21(%rbp)
1400244ce:	48 85 c9             	test   %rcx,%rcx
1400244d1:	74 05                	je     0x1400244d8
1400244d3:	e8 de bb 00 00       	call   0x1400300b6
1400244d8:	48 8b 4d c7          	mov    -0x39(%rbp),%rcx
1400244dc:	4c 89 65 c7          	mov    %r12,-0x39(%rbp)
1400244e0:	48 85 c9             	test   %rcx,%rcx
1400244e3:	74 05                	je     0x1400244ea
1400244e5:	e8 cc bb 00 00       	call   0x1400300b6
1400244ea:	8a 45 3f             	mov    0x3f(%rbp),%al
1400244ed:	84 c0                	test   %al,%al
1400244ef:	74 39                	je     0x14002452a
1400244f1:	f6 d8                	neg    %al
1400244f3:	48 8d 45 1f          	lea    0x1f(%rbp),%rax
1400244f7:	48 1b c9             	sbb    %rcx,%rcx
1400244fa:	48 23 c8             	and    %rax,%rcx
1400244fd:	e8 02 bc 00 00       	call   0x140030104
140024502:	48 8b 4d 07          	mov    0x7(%rbp),%rcx
140024506:	4c 89 65 07          	mov    %r12,0x7(%rbp)
14002450a:	48 85 c9             	test   %rcx,%rcx
14002450d:	74 05                	je     0x140024514
14002450f:	e8 a2 bb 00 00       	call   0x1400300b6
140024514:	48 8b 4d 1f          	mov    0x1f(%rbp),%rcx
140024518:	4c 89 65 1f          	mov    %r12,0x1f(%rbp)
14002451c:	48 85 c9             	test   %rcx,%rcx
14002451f:	74 05                	je     0x140024526
140024521:	e8 90 bb 00 00       	call   0x1400300b6
140024526:	44 88 65 3f          	mov    %r12b,0x3f(%rbp)
14002452a:	48 8b 4d 1f          	mov    0x1f(%rbp),%rcx
14002452e:	4c 89 65 1f          	mov    %r12,0x1f(%rbp)
140024532:	48 85 c9             	test   %rcx,%rcx
140024535:	74 05                	je     0x14002453c
140024537:	e8 7a bb 00 00       	call   0x1400300b6
14002453c:	48 8b 4d 07          	mov    0x7(%rbp),%rcx
140024540:	4c 89 65 07          	mov    %r12,0x7(%rbp)
140024544:	48 85 c9             	test   %rcx,%rcx
140024547:	74 05                	je     0x14002454e
140024549:	e8 68 bb 00 00       	call   0x1400300b6
14002454e:	4c 8d 9c 24 b0 00 00 	lea    0xb0(%rsp),%r11
140024555:	00
140024556:	40 8a c7             	mov    %dil,%al
140024559:	49 8b 5b 20          	mov    0x20(%r11),%rbx
14002455d:	49 8b 73 28          	mov    0x28(%r11),%rsi
140024561:	49 8b 7b 30          	mov    0x30(%r11),%rdi
140024565:	4d 8b 63 38          	mov    0x38(%r11),%r12
140024569:	49 8b e3             	mov    %r11,%rsp
14002456c:	41 5f                	pop    %r15
14002456e:	41 5e                	pop    %r14
140024570:	5d                   	pop    %rbp
140024571:	c3                   	ret
140024572:	90                   	nop
140024573:	90                   	nop
140024574:	48 3b ca             	cmp    %rdx,%rcx
140024577:	74 2d                	je     0x1400245a6
140024579:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14002457e:	57                   	push   %rdi
14002457f:	48 83 ec 20          	sub    $0x20,%rsp
140024583:	48 8b fa             	mov    %rdx,%rdi
140024586:	48 8b d9             	mov    %rcx,%rbx
140024589:	33 d2                	xor    %edx,%edx
14002458b:	48 8b cb             	mov    %rbx,%rcx
14002458e:	e8 4d b3 ff ff       	call   0x14001f8e0
140024593:	48 83 c3 28          	add    $0x28,%rbx
140024597:	48 3b df             	cmp    %rdi,%rbx
14002459a:	75 ed                	jne    0x140024589
14002459c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400245a1:	48 83 c4 20          	add    $0x20,%rsp
1400245a5:	5f                   	pop    %rdi
1400245a6:	c3                   	ret
1400245a7:	90                   	nop
1400245a8:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1400245ad:	53                   	push   %rbx
1400245ae:	56                   	push   %rsi
1400245af:	57                   	push   %rdi
1400245b0:	41 54                	push   %r12
1400245b2:	41 55                	push   %r13
1400245b4:	41 56                	push   %r14
1400245b6:	41 57                	push   %r15
1400245b8:	48 83 ec 30          	sub    $0x30,%rsp
1400245bc:	4d 8b e0             	mov    %r8,%r12
1400245bf:	48 8b fa             	mov    %rdx,%rdi
1400245c2:	4c 8b f1             	mov    %rcx,%r14
1400245c5:	4c 8b ca             	mov    %rdx,%r9
1400245c8:	4c 2b 09             	sub    (%rcx),%r9
1400245cb:	49 ba 67 66 66 66 66 	movabs $0x6666666666666667,%r10
1400245d2:	66 66 66
1400245d5:	49 8b c2             	mov    %r10,%rax
1400245d8:	49 f7 e9             	imul   %r9
1400245db:	48 8b f2             	mov    %rdx,%rsi
1400245de:	48 c1 fe 04          	sar    $0x4,%rsi
1400245e2:	48 8b c6             	mov    %rsi,%rax
1400245e5:	48 c1 e8 3f          	shr    $0x3f,%rax
1400245e9:	48 03 f0             	add    %rax,%rsi
1400245ec:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1400245f0:	49 2b 0e             	sub    (%r14),%rcx
1400245f3:	49 8b c2             	mov    %r10,%rax
1400245f6:	48 f7 e9             	imul   %rcx
1400245f9:	48 c1 fa 04          	sar    $0x4,%rdx
1400245fd:	48 8b c2             	mov    %rdx,%rax
140024600:	48 c1 e8 3f          	shr    $0x3f,%rax
140024604:	48 03 d0             	add    %rax,%rdx
140024607:	49 b8 66 66 66 66 66 	movabs $0x666666666666666,%r8
14002460e:	66 66 06
140024611:	49 3b d0             	cmp    %r8,%rdx
140024614:	0f 84 3e 02 00 00    	je     0x140024858
14002461a:	4c 8d 7a 01          	lea    0x1(%rdx),%r15
14002461e:	49 8b 4e 10          	mov    0x10(%r14),%rcx
140024622:	49 2b 0e             	sub    (%r14),%rcx
140024625:	49 8b c2             	mov    %r10,%rax
140024628:	48 f7 e9             	imul   %rcx
14002462b:	48 c1 fa 04          	sar    $0x4,%rdx
14002462f:	48 8b c2             	mov    %rdx,%rax
140024632:	48 c1 e8 3f          	shr    $0x3f,%rax
140024636:	48 03 d0             	add    %rax,%rdx
140024639:	48 8b ca             	mov    %rdx,%rcx
14002463c:	48 d1 e9             	shr    $1,%rcx
14002463f:	49 8b c0             	mov    %r8,%rax
140024642:	48 2b c1             	sub    %rcx,%rax
140024645:	48 3b d0             	cmp    %rax,%rdx
140024648:	76 05                	jbe    0x14002464f
14002464a:	49 8b d8             	mov    %r8,%rbx
14002464d:	eb 0b                	jmp    0x14002465a
14002464f:	48 8d 1c 11          	lea    (%rcx,%rdx,1),%rbx
140024653:	49 3b df             	cmp    %r15,%rbx
140024656:	49 0f 42 df          	cmovb  %r15,%rbx
14002465a:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14002465f:	49 3b d8             	cmp    %r8,%rbx
140024662:	0f 87 f6 01 00 00    	ja     0x14002485e
140024668:	48 8d 0c 9b          	lea    (%rbx,%rbx,4),%rcx
14002466c:	48 c1 e1 03          	shl    $0x3,%rcx
140024670:	45 33 ed             	xor    %r13d,%r13d
140024673:	48 85 c9             	test   %rcx,%rcx
140024676:	0f 85 d4 00 00 00    	jne    0x140024750
14002467c:	41 8b d5             	mov    %r13d,%edx
14002467f:	48 89 54 24 78       	mov    %rdx,0x78(%rsp)
140024684:	48 8d 04 b6          	lea    (%rsi,%rsi,4),%rax
140024688:	4c 8d 1c c5 00 00 00 	lea    0x0(,%rax,8),%r11
14002468f:	00
140024690:	4a 8d 34 1a          	lea    (%rdx,%r11,1),%rsi
140024694:	48 8d 46 28          	lea    0x28(%rsi),%rax
140024698:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14002469d:	41 8b 04 24          	mov    (%r12),%eax
1400246a1:	89 06                	mov    %eax,(%rsi)
1400246a3:	0f 57 c0             	xorps  %xmm0,%xmm0
1400246a6:	0f 11 46 08          	movups %xmm0,0x8(%rsi)
1400246aa:	4c 89 6e 18          	mov    %r13,0x18(%rsi)
1400246ae:	4c 89 6e 20          	mov    %r13,0x20(%rsi)
1400246b2:	41 0f 10 44 24 08    	movups 0x8(%r12),%xmm0
1400246b8:	0f 11 46 08          	movups %xmm0,0x8(%rsi)
1400246bc:	41 0f 10 4c 24 18    	movups 0x18(%r12),%xmm1
1400246c2:	0f 11 4e 18          	movups %xmm1,0x18(%rsi)
1400246c6:	4d 89 6c 24 18       	mov    %r13,0x18(%r12)
1400246cb:	49 c7 44 24 20 07 00 	movq   $0x7,0x20(%r12)
1400246d2:	00 00
1400246d4:	66 45 89 6c 24 08    	mov    %r13w,0x8(%r12)
1400246da:	48 89 b4 24 88 00 00 	mov    %rsi,0x88(%rsp)
1400246e1:	00
1400246e2:	4d 8b 56 08          	mov    0x8(%r14),%r10
1400246e6:	49 8b 0e             	mov    (%r14),%rcx
1400246e9:	49 3b fa             	cmp    %r10,%rdi
1400246ec:	0f 85 8b 00 00 00    	jne    0x14002477d
1400246f2:	49 3b ca             	cmp    %r10,%rcx
1400246f5:	0f 84 3c 01 00 00    	je     0x140024837
1400246fb:	4c 8d 49 08          	lea    0x8(%rcx),%r9
1400246ff:	4c 8d 42 08          	lea    0x8(%rdx),%r8
140024703:	8b 01                	mov    (%rcx),%eax
140024705:	41 89 40 f8          	mov    %eax,-0x8(%r8)
140024709:	0f 57 c0             	xorps  %xmm0,%xmm0
14002470c:	41 0f 11 00          	movups %xmm0,(%r8)
140024710:	4d 89 68 10          	mov    %r13,0x10(%r8)
140024714:	4d 89 68 18          	mov    %r13,0x18(%r8)
140024718:	41 0f 10 01          	movups (%r9),%xmm0
14002471c:	41 0f 11 00          	movups %xmm0,(%r8)
140024720:	41 0f 10 49 10       	movups 0x10(%r9),%xmm1
140024725:	41 0f 11 48 10       	movups %xmm1,0x10(%r8)
14002472a:	4d 89 69 10          	mov    %r13,0x10(%r9)
14002472e:	49 c7 41 18 07 00 00 	movq   $0x7,0x18(%r9)
140024735:	00
140024736:	66 45 89 29          	mov    %r13w,(%r9)
14002473a:	4d 8d 40 28          	lea    0x28(%r8),%r8
14002473e:	48 83 c1 28          	add    $0x28,%rcx
140024742:	4d 8d 49 28          	lea    0x28(%r9),%r9
140024746:	49 3b ca             	cmp    %r10,%rcx
140024749:	75 b8                	jne    0x140024703
14002474b:	e9 e7 00 00 00       	jmp    0x140024837
140024750:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140024757:	72 0d                	jb     0x140024766
140024759:	e8 ae 4a fe ff       	call   0x14000920c
14002475e:	48 8b d0             	mov    %rax,%rdx
140024761:	e9 19 ff ff ff       	jmp    0x14002467f