140ae5336:	74 05                	je     0x140ae533d
140ae5338:	e8 0b 9d ff ff       	call   0x140adf048
140ae533d:	48 83 c4 28          	add    $0x28,%rsp
140ae5341:	c3                   	ret
140ae5342:	90                   	nop
140ae5343:	90                   	nop
140ae5344:	48 83 ec 28          	sub    $0x28,%rsp
140ae5348:	48 8b 09             	mov    (%rcx),%rcx
140ae534b:	48 85 c9             	test   %rcx,%rcx
140ae534e:	74 05                	je     0x140ae5355
140ae5350:	e8 57 9c ff ff       	call   0x140adefac
140ae5355:	48 83 c4 28          	add    $0x28,%rsp
140ae5359:	c3                   	ret
140ae535a:	90                   	nop
140ae535b:	90                   	nop
140ae535c:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140ae5361:	53                   	push   %rbx
140ae5362:	56                   	push   %rsi
140ae5363:	57                   	push   %rdi
140ae5364:	41 54                	push   %r12
140ae5366:	41 55                	push   %r13
140ae5368:	41 56                	push   %r14
140ae536a:	41 57                	push   %r15
140ae536c:	48 83 ec 30          	sub    $0x30,%rsp
140ae5370:	4c 8b fa             	mov    %rdx,%r15
140ae5373:	48 8b f9             	mov    %rcx,%rdi
140ae5376:	49 b8 8e e3 38 8e e3 	movabs $0x38e38e38e38e38e,%r8
140ae537d:	38 8e 03
140ae5380:	49 3b d0             	cmp    %r8,%rdx
140ae5383:	0f 87 c3 01 00 00    	ja     0x140ae554c
140ae5389:	48 8b 71 08          	mov    0x8(%rcx),%rsi
140ae538d:	48 2b 31             	sub    (%rcx),%rsi
140ae5390:	48 c1 fe 03          	sar    $0x3,%rsi
140ae5394:	49 bd 39 8e e3 38 8e 	movabs $0x8e38e38e38e38e39,%r13
140ae539b:	e3 38 8e
140ae539e:	49 0f af f5          	imul   %r13,%rsi
140ae53a2:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140ae53a6:	48 2b 0f             	sub    (%rdi),%rcx
140ae53a9:	48 c1 f9 03          	sar    $0x3,%rcx
140ae53ad:	49 0f af cd          	imul   %r13,%rcx
140ae53b1:	48 8b d1             	mov    %rcx,%rdx
140ae53b4:	48 d1 ea             	shr    $1,%rdx
140ae53b7:	49 8b c0             	mov    %r8,%rax
140ae53ba:	48 2b c2             	sub    %rdx,%rax
140ae53bd:	48 3b c8             	cmp    %rax,%rcx
140ae53c0:	76 05                	jbe    0x140ae53c7
140ae53c2:	49 8b c0             	mov    %r8,%rax
140ae53c5:	eb 0b                	jmp    0x140ae53d2
140ae53c7:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
140ae53cb:	49 3b c7             	cmp    %r15,%rax
140ae53ce:	49 0f 42 c7          	cmovb  %r15,%rax
140ae53d2:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
140ae53d9:	00
140ae53da:	49 3b c0             	cmp    %r8,%rax
140ae53dd:	0f 87 63 01 00 00    	ja     0x140ae5546
140ae53e3:	48 8d 04 c0          	lea    (%rax,%rax,8),%rax
140ae53e7:	4c 8d 34 c5 00 00 00 	lea    0x0(,%rax,8),%r14
140ae53ee:	00
140ae53ef:	45 33 e4             	xor    %r12d,%r12d
140ae53f2:	4d 85 f6             	test   %r14,%r14
140ae53f5:	0f 85 82 00 00 00    	jne    0x140ae547d
140ae53fb:	41 8b dc             	mov    %r12d,%ebx
140ae53fe:	48 89 9c 24 80 00 00 	mov    %rbx,0x80(%rsp)
140ae5405:	00
140ae5406:	48 8d 04 f6          	lea    (%rsi,%rsi,8),%rax
140ae540a:	48 8d 0c c3          	lea    (%rbx,%rax,8),%rcx
140ae540e:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140ae5413:	48 89 4c 24 78       	mov    %rcx,0x78(%rsp)
140ae5418:	49 8b d7             	mov    %r15,%rdx
140ae541b:	48 2b d6             	sub    %rsi,%rdx
140ae541e:	74 39                	je     0x140ae5459
140ae5420:	48 8d 41 40          	lea    0x40(%rcx),%rax
140ae5424:	4c 89 60 f0          	mov    %r12,-0x10(%rax)
140ae5428:	4c 89 60 f8          	mov    %r12,-0x8(%rax)
140ae542c:	4c 89 20             	mov    %r12,(%rax)
140ae542f:	44 88 60 e8          	mov    %r12b,-0x18(%rax)
140ae5433:	4c 89 21             	mov    %r12,(%rcx)
140ae5436:	4c 89 60 c8          	mov    %r12,-0x38(%rax)
140ae543a:	4c 89 60 d8          	mov    %r12,-0x28(%rax)
140ae543e:	4c 89 60 d0          	mov    %r12,-0x30(%rax)
140ae5442:	4c 89 60 e0          	mov    %r12,-0x20(%rax)
140ae5446:	48 83 c1 48          	add    $0x48,%rcx
140ae544a:	48 89 4c 24 78       	mov    %rcx,0x78(%rsp)
140ae544f:	48 8d 40 48          	lea    0x48(%rax),%rax
140ae5453:	48 83 ea 01          	sub    $0x1,%rdx
140ae5457:	75 cb                	jne    0x140ae5424
140ae5459:	4c 8b cf             	mov    %rdi,%r9
140ae545c:	4c 8b c3             	mov    %rbx,%r8
140ae545f:	48 8b 57 08          	mov    0x8(%rdi),%rdx
140ae5463:	48 8b 0f             	mov    (%rdi),%rcx
140ae5466:	e8 e1 08 00 00       	call   0x140ae5d4c
140ae546b:	48 8b 37             	mov    (%rdi),%rsi
140ae546e:	48 85 f6             	test   %rsi,%rsi
140ae5471:	0f 84 a1 00 00 00    	je     0x140ae5518
140ae5477:	4c 8b 67 08          	mov    0x8(%rdi),%r12
140ae547b:	eb 5a                	jmp    0x140ae54d7
140ae547d:	49 81 fe 00 10 00 00 	cmp    $0x1000,%r14
140ae5484:	72 29                	jb     0x140ae54af
140ae5486:	49 8d 4e 27          	lea    0x27(%r14),%rcx
140ae548a:	49 3b ce             	cmp    %r14,%rcx
140ae548d:	0f 86 b3 00 00 00    	jbe    0x140ae5546
140ae5493:	ff 15 2f 74 02 00    	call   *0x2742f(%rip)        # 0x140b0c8c8
140ae5499:	48 85 c0             	test   %rax,%rax
140ae549c:	74 26                	je     0x140ae54c4
140ae549e:	48 8d 58 27          	lea    0x27(%rax),%rbx
140ae54a2:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
140ae54a6:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
140ae54aa:	e9 4f ff ff ff       	jmp    0x140ae53fe
140ae54af:	49 8b ce             	mov    %r14,%rcx
140ae54b2:	ff 15 10 74 02 00    	call   *0x27410(%rip)        # 0x140b0c8c8
140ae54b8:	48 8b d8             	mov    %rax,%rbx
140ae54bb:	48 85 c0             	test   %rax,%rax
140ae54be:	0f 85 3a ff ff ff    	jne    0x140ae53fe
140ae54c4:	ff 15 ce 6f 02 00    	call   *0x26fce(%rip)        # 0x140b0c498
140ae54ca:	cc                   	int3
140ae54cb:	48 8b ce             	mov    %rsi,%rcx
140ae54ce:	e8 e9 b1 ff ff       	call   0x140ae06bc
140ae54d3:	48 83 c6 48          	add    $0x48,%rsi
140ae54d7:	49 3b f4             	cmp    %r12,%rsi
140ae54da:	75 ef                	jne    0x140ae54cb
140ae54dc:	48 8b 0f             	mov    (%rdi),%rcx
140ae54df:	48 8b 47 10          	mov    0x10(%rdi),%rax
140ae54e3:	48 2b c1             	sub    %rcx,%rax
140ae54e6:	48 c1 f8 03          	sar    $0x3,%rax
140ae54ea:	49 0f af c5          	imul   %r13,%rax
140ae54ee:	48 8d 04 c0          	lea    (%rax,%rax,8),%rax
140ae54f2:	48 c1 e0 03          	shl    $0x3,%rax
140ae54f6:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140ae54fc:	72 14                	jb     0x140ae5512
140ae54fe:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140ae5502:	48 2b ca             	sub    %rdx,%rcx
140ae5505:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140ae5509:	48 83 f8 1f          	cmp    $0x1f,%rax
140ae550d:	77 30                	ja     0x140ae553f
140ae550f:	48 8b ca             	mov    %rdx,%rcx
140ae5512:	ff 15 a8 73 02 00    	call   *0x273a8(%rip)        # 0x140b0c8c0
140ae5518:	48 89 1f             	mov    %rbx,(%rdi)
140ae551b:	4b 8d 04 ff          	lea    (%r15,%r15,8),%rax
140ae551f:	48 8d 0c c3          	lea    (%rbx,%rax,8),%rcx
140ae5523:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140ae5527:	4a 8d 04 33          	lea    (%rbx,%r14,1),%rax
140ae552b:	48 89 47 10          	mov    %rax,0x10(%rdi)
140ae552f:	48 83 c4 30          	add    $0x30,%rsp
140ae5533:	41 5f                	pop    %r15
140ae5535:	41 5e                	pop    %r14
140ae5537:	41 5d                	pop    %r13
140ae5539:	41 5c                	pop    %r12
140ae553b:	5f                   	pop    %rdi
140ae553c:	5e                   	pop    %rsi
140ae553d:	5b                   	pop    %rbx
140ae553e:	c3                   	ret
140ae553f:	ff 15 53 74 02 00    	call   *0x27453(%rip)        # 0x140b0c998
140ae5545:	cc                   	int3
140ae5546:	e8 85 e7 51 ff       	call   0x140003cd0
140ae554b:	cc                   	int3
140ae554c:	e8 17 68 53 ff       	call   0x14001bd68
140ae5551:	cc                   	int3
140ae5552:	90                   	nop
140ae5553:	90                   	nop
140ae5554:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140ae5559:	53                   	push   %rbx
140ae555a:	56                   	push   %rsi
140ae555b:	57                   	push   %rdi
140ae555c:	41 54                	push   %r12
140ae555e:	41 55                	push   %r13
140ae5560:	41 56                	push   %r14
140ae5562:	41 57                	push   %r15
140ae5564:	48 83 ec 30          	sub    $0x30,%rsp
140ae5568:	4c 8b fa             	mov    %rdx,%r15
140ae556b:	48 8b f9             	mov    %rcx,%rdi
140ae556e:	49 b8 aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaa,%r8
140ae5575:	aa aa 0a
140ae5578:	49 3b d0             	cmp    %r8,%rdx
140ae557b:	0f 87 bc 01 00 00    	ja     0x140ae573d
140ae5581:	48 8b 71 08          	mov    0x8(%rcx),%rsi
140ae5585:	48 2b 31             	sub    (%rcx),%rsi
140ae5588:	48 c1 fe 03          	sar    $0x3,%rsi
140ae558c:	49 bd ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%r13
140ae5593:	aa aa aa
140ae5596:	49 0f af f5          	imul   %r13,%rsi
140ae559a:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140ae559e:	48 2b 0f             	sub    (%rdi),%rcx
140ae55a1:	48 c1 f9 03          	sar    $0x3,%rcx
140ae55a5:	49 0f af cd          	imul   %r13,%rcx
140ae55a9:	48 8b d1             	mov    %rcx,%rdx
140ae55ac:	48 d1 ea             	shr    $1,%rdx
140ae55af:	49 8b c0             	mov    %r8,%rax
140ae55b2:	48 2b c2             	sub    %rdx,%rax
140ae55b5:	48 3b c8             	cmp    %rax,%rcx
140ae55b8:	76 05                	jbe    0x140ae55bf
140ae55ba:	49 8b c0             	mov    %r8,%rax
140ae55bd:	eb 0b                	jmp    0x140ae55ca
140ae55bf:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
140ae55c3:	49 3b c7             	cmp    %r15,%rax
140ae55c6:	49 0f 42 c7          	cmovb  %r15,%rax
140ae55ca:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
140ae55d1:	00
140ae55d2:	49 3b c0             	cmp    %r8,%rax
140ae55d5:	0f 87 5c 01 00 00    	ja     0x140ae5737
140ae55db:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
140ae55df:	4c 8d 34 c5 00 00 00 	lea    0x0(,%rax,8),%r14
140ae55e6:	00
140ae55e7:	45 33 e4             	xor    %r12d,%r12d
140ae55ea:	4d 85 f6             	test   %r14,%r14
140ae55ed:	75 20                	jne    0x140ae560f
140ae55ef:	41 8b dc             	mov    %r12d,%ebx
140ae55f2:	48 89 9c 24 80 00 00 	mov    %rbx,0x80(%rsp)
140ae55f9:	00
140ae55fa:	48 8d 04 76          	lea    (%rsi,%rsi,2),%rax
140ae55fe:	48 8d 0c c3          	lea    (%rbx,%rax,8),%rcx
140ae5602:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140ae5607:	49 8b c7             	mov    %r15,%rax
140ae560a:	48 2b c6             	sub    %rsi,%rax
140ae560d:	eb 5a                	jmp    0x140ae5669
140ae560f:	49 81 fe 00 10 00 00 	cmp    $0x1000,%r14
140ae5616:	72 26                	jb     0x140ae563e
140ae5618:	49 8d 4e 27          	lea    0x27(%r14),%rcx
140ae561c:	49 3b ce             	cmp    %r14,%rcx
140ae561f:	0f 86 12 01 00 00    	jbe    0x140ae5737
140ae5625:	ff 15 9d 72 02 00    	call   *0x2729d(%rip)        # 0x140b0c8c8
140ae562b:	48 85 c0             	test   %rax,%rax
140ae562e:	74 1f                	je     0x140ae564f
140ae5630:	48 8d 58 27          	lea    0x27(%rax),%rbx
140ae5634:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
140ae5638:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
140ae563c:	eb b4                	jmp    0x140ae55f2
140ae563e:	49 8b ce             	mov    %r14,%rcx
140ae5641:	ff 15 81 72 02 00    	call   *0x27281(%rip)        # 0x140b0c8c8
140ae5647:	48 8b d8             	mov    %rax,%rbx
140ae564a:	48 85 c0             	test   %rax,%rax
140ae564d:	75 a3                	jne    0x140ae55f2
140ae564f:	ff 15 43 6e 02 00    	call   *0x26e43(%rip)        # 0x140b0c498
140ae5655:	90                   	nop
140ae5656:	4c 89 21             	mov    %r12,(%rcx)
140ae5659:	4c 89 61 08          	mov    %r12,0x8(%rcx)
140ae565d:	4c 89 61 10          	mov    %r12,0x10(%rcx)
140ae5661:	48 83 c1 18          	add    $0x18,%rcx
140ae5665:	48 83 e8 01          	sub    $0x1,%rax
140ae5669:	48 89 4c 24 78       	mov    %rcx,0x78(%rsp)
140ae566e:	75 e6                	jne    0x140ae5656
140ae5670:	4c 8b 57 08          	mov    0x8(%rdi),%r10
140ae5674:	4c 8b 07             	mov    (%rdi),%r8
140ae5677:	4d 3b c2             	cmp    %r10,%r8
140ae567a:	74 32                	je     0x140ae56ae
140ae567c:	4c 8d 4b 10          	lea    0x10(%rbx),%r9
140ae5680:	49 8b 50 10          	mov    0x10(%r8),%rdx
140ae5684:	4d 89 60 10          	mov    %r12,0x10(%r8)
140ae5688:	49 8b 48 08          	mov    0x8(%r8),%rcx
140ae568c:	4d 89 60 08          	mov    %r12,0x8(%r8)
140ae5690:	49 8b 00             	mov    (%r8),%rax
140ae5693:	4d 89 20             	mov    %r12,(%r8)
140ae5696:	49 89 41 f0          	mov    %rax,-0x10(%r9)
140ae569a:	49 89 49 f8          	mov    %rcx,-0x8(%r9)
140ae569e:	49 89 11             	mov    %rdx,(%r9)
140ae56a1:	4d 8d 49 18          	lea    0x18(%r9),%r9
140ae56a5:	49 83 c0 18          	add    $0x18,%r8
140ae56a9:	4d 3b c2             	cmp    %r10,%r8
140ae56ac:	75 d2                	jne    0x140ae5680
140ae56ae:	48 8b 37             	mov    (%rdi),%rsi
140ae56b1:	48 85 f6             	test   %rsi,%rsi
140ae56b4:	74 53                	je     0x140ae5709
140ae56b6:	4c 8b 67 08          	mov    0x8(%rdi),%r12
140ae56ba:	eb 0c                	jmp    0x140ae56c8
140ae56bc:	48 8b ce             	mov    %rsi,%rcx
140ae56bf:	e8 28 af ff ff       	call   0x140ae05ec
140ae56c4:	48 83 c6 18          	add    $0x18,%rsi
140ae56c8:	49 3b f4             	cmp    %r12,%rsi
140ae56cb:	75 ef                	jne    0x140ae56bc
140ae56cd:	48 8b 0f             	mov    (%rdi),%rcx
140ae56d0:	48 8b 47 10          	mov    0x10(%rdi),%rax
140ae56d4:	48 2b c1             	sub    %rcx,%rax
140ae56d7:	48 c1 f8 03          	sar    $0x3,%rax
140ae56db:	49 0f af c5          	imul   %r13,%rax
140ae56df:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
140ae56e3:	48 c1 e0 03          	shl    $0x3,%rax
140ae56e7:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140ae56ed:	72 14                	jb     0x140ae5703
140ae56ef:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140ae56f3:	48 2b ca             	sub    %rdx,%rcx
140ae56f6:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140ae56fa:	48 83 f8 1f          	cmp    $0x1f,%rax
140ae56fe:	77 30                	ja     0x140ae5730
140ae5700:	48 8b ca             	mov    %rdx,%rcx
140ae5703:	ff 15 b7 71 02 00    	call   *0x271b7(%rip)        # 0x140b0c8c0
140ae5709:	48 89 1f             	mov    %rbx,(%rdi)
140ae570c:	4b 8d 04 7f          	lea    (%r15,%r15,2),%rax
140ae5710:	48 8d 0c c3          	lea    (%rbx,%rax,8),%rcx
140ae5714:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140ae5718:	4a 8d 04 33          	lea    (%rbx,%r14,1),%rax
140ae571c:	48 89 47 10          	mov    %rax,0x10(%rdi)
140ae5720:	48 83 c4 30          	add    $0x30,%rsp
140ae5724:	41 5f                	pop    %r15
140ae5726:	41 5e                	pop    %r14
140ae5728:	41 5d                	pop    %r13
140ae572a:	41 5c                	pop    %r12
140ae572c:	5f                   	pop    %rdi
140ae572d:	5e                   	pop    %rsi
140ae572e:	5b                   	pop    %rbx
140ae572f:	c3                   	ret
140ae5730:	ff 15 62 72 02 00    	call   *0x27262(%rip)        # 0x140b0c998
140ae5736:	cc                   	int3
140ae5737:	e8 94 e5 51 ff       	call   0x140003cd0
140ae573c:	cc                   	int3
140ae573d:	e8 26 66 53 ff       	call   0x14001bd68
140ae5742:	cc                   	int3
140ae5743:	90                   	nop
140ae5744:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140ae5749:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140ae574e:	56                   	push   %rsi
140ae574f:	57                   	push   %rdi
140ae5750:	41 55                	push   %r13
140ae5752:	41 56                	push   %r14
140ae5754:	41 57                	push   %r15
140ae5756:	48 83 ec 20          	sub    $0x20,%rsp
140ae575a:	4c 8b f2             	mov    %rdx,%r14
140ae575d:	48 8b f9             	mov    %rcx,%rdi
140ae5760:	49 b8 24 49 92 24 49 	movabs $0x924924924924924,%r8
140ae5767:	92 24 09
140ae576a:	49 3b d0             	cmp    %r8,%rdx
140ae576d:	0f 87 69 01 00 00    	ja     0x140ae58dc
140ae5773:	4c 8b 79 08          	mov    0x8(%rcx),%r15
140ae5777:	4c 2b 39             	sub    (%rcx),%r15
140ae577a:	49 c1 ff 02          	sar    $0x2,%r15
140ae577e:	49 bd b7 6d db b6 6d 	movabs $0x6db6db6db6db6db7,%r13
140ae5785:	db b6 6d
140ae5788:	4d 0f af fd          	imul   %r13,%r15
140ae578c:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140ae5790:	48 2b 0f             	sub    (%rdi),%rcx
140ae5793:	48 c1 f9 02          	sar    $0x2,%rcx
140ae5797:	49 0f af cd          	imul   %r13,%rcx
140ae579b:	48 8b d1             	mov    %rcx,%rdx
140ae579e:	48 d1 ea             	shr    $1,%rdx
140ae57a1:	49 8b c0             	mov    %r8,%rax
140ae57a4:	48 2b c2             	sub    %rdx,%rax
140ae57a7:	48 3b c8             	cmp    %rax,%rcx
140ae57aa:	76 05                	jbe    0x140ae57b1
140ae57ac:	49 8b c0             	mov    %r8,%rax
140ae57af:	eb 0b                	jmp    0x140ae57bc
140ae57b1:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
140ae57b5:	49 3b c6             	cmp    %r14,%rax
140ae57b8:	49 0f 42 c6          	cmovb  %r14,%rax
140ae57bc:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140ae57c1:	49 3b c0             	cmp    %r8,%rax
140ae57c4:	0f 87 0c 01 00 00    	ja     0x140ae58d6
140ae57ca:	48 6b f0 1c          	imul   $0x1c,%rax,%rsi
140ae57ce:	48 85 f6             	test   %rsi,%rsi
140ae57d1:	0f 85 ae 00 00 00    	jne    0x140ae5885
140ae57d7:	33 db                	xor    %ebx,%ebx
140ae57d9:	48 89 5c 24 60       	mov    %rbx,0x60(%rsp)
140ae57de:	49 6b c7 1c          	imul   $0x1c,%r15,%rax