140a99388:	48 3b 77 28          	cmp    0x28(%rdi),%rsi
140a9938c:	72 d2                	jb     0x140a99360
140a9938e:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a99393:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140a99398:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140a9939d:	48 83 c4 20          	add    $0x20,%rsp
140a993a1:	41 5e                	pop    %r14
140a993a3:	c3                   	ret
140a993a4:	cc                   	int3
140a993a5:	cc                   	int3
140a993a6:	cc                   	int3
140a993a7:	cc                   	int3
140a993a8:	cc                   	int3
140a993a9:	cc                   	int3
140a993aa:	cc                   	int3
140a993ab:	cc                   	int3
140a993ac:	cc                   	int3
140a993ad:	cc                   	int3
140a993ae:	cc                   	int3
140a993af:	cc                   	int3
140a993b0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140a993b5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140a993ba:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140a993bf:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140a993c4:	41 56                	push   %r14
140a993c6:	48 83 ec 20          	sub    $0x20,%rsp
140a993ca:	48 8b 59 40          	mov    0x40(%rcx),%rbx
140a993ce:	45 33 db             	xor    %r11d,%r11d
140a993d1:	45 8b f0             	mov    %r8d,%r14d
140a993d4:	48 8b fa             	mov    %rdx,%rdi
140a993d7:	48 8b f1             	mov    %rcx,%rsi
140a993da:	48 85 db             	test   %rbx,%rbx
140a993dd:	74 4a                	je     0x140a99429
140a993df:	48 8b 6a 08          	mov    0x8(%rdx),%rbp
140a993e3:	4c 8b 51 30          	mov    0x30(%rcx),%r10
140a993e7:	4d 8b 42 08          	mov    0x8(%r10),%r8
140a993eb:	4c 3b c5             	cmp    %rbp,%r8
140a993ee:	75 2d                	jne    0x140a9941d
140a993f0:	33 d2                	xor    %edx,%edx
140a993f2:	4d 85 c0             	test   %r8,%r8
140a993f5:	74 1d                	je     0x140a99414
140a993f7:	48 8b 07             	mov    (%rdi),%rax
140a993fa:	4d 8b 0a             	mov    (%r10),%r9
140a993fd:	4c 2b c8             	sub    %rax,%r9
140a99400:	0f b6 08             	movzbl (%rax),%ecx
140a99403:	41 38 0c 01          	cmp    %cl,(%r9,%rax,1)
140a99407:	75 0b                	jne    0x140a99414
140a99409:	48 ff c2             	inc    %rdx
140a9940c:	48 ff c0             	inc    %rax
140a9940f:	49 3b d0             	cmp    %r8,%rdx
140a99412:	72 ec                	jb     0x140a99400
140a99414:	49 3b d0             	cmp    %r8,%rdx
140a99417:	0f 84 e7 00 00 00    	je     0x140a99504
140a9941d:	49 ff c3             	inc    %r11
140a99420:	49 83 c2 30          	add    $0x30,%r10
140a99424:	4c 3b db             	cmp    %rbx,%r11
140a99427:	72 be                	jb     0x140a993e7
140a99429:	48 8b 46 38          	mov    0x38(%rsi),%rax
140a9942d:	48 3b d8             	cmp    %rax,%rbx
140a99430:	75 36                	jne    0x140a99468
140a99432:	48 85 c0             	test   %rax,%rax
140a99435:	75 14                	jne    0x140a9944b
140a99437:	b9 30 00 00 00       	mov    $0x30,%ecx
140a9943c:	48 c7 46 38 01 00 00 	movq   $0x1,0x38(%rsi)
140a99443:	00
140a99444:	e8 e3 92 39 00       	call   0x140e3272c
140a99449:	eb 19                	jmp    0x140a99464
140a9944b:	48 8b 4e 30          	mov    0x30(%rsi),%rcx
140a9944f:	48 83 c0 02          	add    $0x2,%rax
140a99453:	48 89 46 38          	mov    %rax,0x38(%rsi)
140a99457:	48 8d 14 40          	lea    (%rax,%rax,2),%rdx
140a9945b:	48 c1 e2 04          	shl    $0x4,%rdx
140a9945f:	e8 44 7d 39 00       	call   0x140e311a8
140a99464:	48 89 46 30          	mov    %rax,0x30(%rsi)
140a99468:	48 8b 46 40          	mov    0x40(%rsi),%rax
140a9946c:	48 8d 1c 40          	lea    (%rax,%rax,2),%rbx
140a99470:	48 c1 e3 04          	shl    $0x4,%rbx
140a99474:	48 03 5e 30          	add    0x30(%rsi),%rbx
140a99478:	48 ff c0             	inc    %rax
140a9947b:	48 89 46 40          	mov    %rax,0x40(%rsi)
140a9947f:	45 85 f6             	test   %r14d,%r14d
140a99482:	74 6a                	je     0x140a994ee
140a99484:	48 8b 46 50          	mov    0x50(%rsi),%rax
140a99488:	4c 8b 47 08          	mov    0x8(%rdi),%r8
140a9948c:	48 8b 17             	mov    (%rdi),%rdx
140a9948f:	48 8b 70 18          	mov    0x18(%rax),%rsi
140a99493:	48 8b ce             	mov    %rsi,%rcx
140a99496:	e8 65 06 00 00       	call   0x140a99b00
140a9949b:	48 89 03             	mov    %rax,(%rbx)
140a9949e:	48 8b ce             	mov    %rsi,%rcx
140a994a1:	48 8b 47 08          	mov    0x8(%rdi),%rax
140a994a5:	48 89 43 08          	mov    %rax,0x8(%rbx)
140a994a9:	4c 8b 47 18          	mov    0x18(%rdi),%r8
140a994ad:	48 8b 57 10          	mov    0x10(%rdi),%rdx
140a994b1:	e8 4a 06 00 00       	call   0x140a99b00
140a994b6:	48 89 43 10          	mov    %rax,0x10(%rbx)
140a994ba:	48 8b 47 18          	mov    0x18(%rdi),%rax
140a994be:	48 89 43 18          	mov    %rax,0x18(%rbx)
140a994c2:	83 7f 28 02          	cmpl   $0x2,0x28(%rdi)
140a994c6:	75 18                	jne    0x140a994e0
140a994c8:	48 8b 57 20          	mov    0x20(%rdi),%rdx
140a994cc:	48 8b ce             	mov    %rsi,%rcx
140a994cf:	e8 5c 05 00 00       	call   0x140a99a30
140a994d4:	48 89 43 20          	mov    %rax,0x20(%rbx)
140a994d8:	8b 47 28             	mov    0x28(%rdi),%eax
140a994db:	89 43 28             	mov    %eax,0x28(%rbx)
140a994de:	eb 24                	jmp    0x140a99504
140a994e0:	8b 47 20             	mov    0x20(%rdi),%eax
140a994e3:	89 43 20             	mov    %eax,0x20(%rbx)
140a994e6:	8b 47 28             	mov    0x28(%rdi),%eax
140a994e9:	89 43 28             	mov    %eax,0x28(%rbx)
140a994ec:	eb 16                	jmp    0x140a99504
140a994ee:	0f 10 07             	movups (%rdi),%xmm0
140a994f1:	0f 11 03             	movups %xmm0,(%rbx)
140a994f4:	0f 10 4f 10          	movups 0x10(%rdi),%xmm1
140a994f8:	0f 11 4b 10          	movups %xmm1,0x10(%rbx)
140a994fc:	0f 10 47 20          	movups 0x20(%rdi),%xmm0
140a99500:	0f 11 43 20          	movups %xmm0,0x20(%rbx)
140a99504:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a99509:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140a9950e:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140a99513:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140a99518:	48 83 c4 20          	add    $0x20,%rsp
140a9951c:	41 5e                	pop    %r14
140a9951e:	c3                   	ret
140a9951f:	cc                   	int3
140a99520:	45 33 d2             	xor    %r10d,%r10d
140a99523:	4c 8b c9             	mov    %rcx,%r9
140a99526:	41 8b d2             	mov    %r10d,%edx
140a99529:	39 51 04             	cmp    %edx,0x4(%rcx)
140a9952c:	75 03                	jne    0x140a99531
140a9952e:	33 c0                	xor    %eax,%eax
140a99530:	c3                   	ret
140a99531:	4c 8b 41 40          	mov    0x40(%rcx),%r8
140a99535:	4d 85 c0             	test   %r8,%r8
140a99538:	74 2c                	je     0x140a99566
140a9953a:	48 8b 41 30          	mov    0x30(%rcx),%rax
140a9953e:	66 90                	xchg   %ax,%ax
140a99540:	4c 39 50 10          	cmp    %r10,0x10(%rax)
140a99544:	74 16                	je     0x140a9955c
140a99546:	48 85 d2             	test   %rdx,%rdx
140a99549:	75 05                	jne    0x140a99550
140a9954b:	48 8b d0             	mov    %rax,%rdx
140a9954e:	eb 0c                	jmp    0x140a9955c
140a99550:	48 8b 4a 08          	mov    0x8(%rdx),%rcx
140a99554:	48 39 48 08          	cmp    %rcx,0x8(%rax)
140a99558:	48 0f 47 d0          	cmova  %rax,%rdx
140a9955c:	48 83 c0 30          	add    $0x30,%rax
140a99560:	49 83 e8 01          	sub    $0x1,%r8
140a99564:	75 da                	jne    0x140a99540
140a99566:	48 85 d2             	test   %rdx,%rdx
140a99569:	49 89 51 48          	mov    %rdx,0x48(%r9)
140a9956d:	41 0f 95 c2          	setne  %r10b
140a99571:	41 8b c2             	mov    %r10d,%eax
140a99574:	c3                   	ret
140a99575:	cc                   	int3
140a99576:	cc                   	int3
140a99577:	cc                   	int3
140a99578:	cc                   	int3
140a99579:	cc                   	int3
140a9957a:	cc                   	int3
140a9957b:	cc                   	int3
140a9957c:	cc                   	int3
140a9957d:	cc                   	int3
140a9957e:	cc                   	int3
140a9957f:	cc                   	int3
140a99580:	40 55                	rex push %rbp
140a99582:	48 83 ec 20          	sub    $0x20,%rsp
140a99586:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140a9958b:	48 8b e9             	mov    %rcx,%rbp
140a9958e:	48 8b 59 10          	mov    0x10(%rcx),%rbx
140a99592:	48 85 db             	test   %rbx,%rbx
140a99595:	74 58                	je     0x140a995ef
140a99597:	48 89 74 24 38       	mov    %rsi,0x38(%rsp)
140a9959c:	48 89 7c 24 40       	mov    %rdi,0x40(%rsp)
140a995a1:	33 ff                	xor    %edi,%edi
140a995a3:	48 39 7b 40          	cmp    %rdi,0x40(%rbx)
140a995a7:	76 26                	jbe    0x140a995cf
140a995a9:	33 f6                	xor    %esi,%esi
140a995ab:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140a995b0:	48 8b 53 30          	mov    0x30(%rbx),%rdx
140a995b4:	45 33 c0             	xor    %r8d,%r8d
140a995b7:	48 03 d6             	add    %rsi,%rdx
140a995ba:	48 8b cd             	mov    %rbp,%rcx
140a995bd:	e8 ee fd ff ff       	call   0x140a993b0
140a995c2:	48 ff c7             	inc    %rdi
140a995c5:	48 83 c6 30          	add    $0x30,%rsi
140a995c9:	48 3b 7b 40          	cmp    0x40(%rbx),%rdi
140a995cd:	72 e1                	jb     0x140a995b0
140a995cf:	83 7b 04 00          	cmpl   $0x0,0x4(%rbx)
140a995d3:	74 07                	je     0x140a995dc
140a995d5:	c7 45 04 01 00 00 00 	movl   $0x1,0x4(%rbp)
140a995dc:	48 8b 5b 10          	mov    0x10(%rbx),%rbx
140a995e0:	48 85 db             	test   %rbx,%rbx
140a995e3:	75 bc                	jne    0x140a995a1
140a995e5:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140a995ea:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140a995ef:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
140a995f3:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a995f8:	48 85 c9             	test   %rcx,%rcx
140a995fb:	74 1b                	je     0x140a99618
140a995fd:	48 8b 55 28          	mov    0x28(%rbp),%rdx
140a99601:	4c 8d 0d b8 01 00 00 	lea    0x1b8(%rip),%r9        # 0x140a997c0
140a99608:	41 b8 10 00 00 00    	mov    $0x10,%r8d
140a9960e:	48 83 c4 20          	add    $0x20,%rsp
140a99612:	5d                   	pop    %rbp
140a99613:	e9 e8 0c 3b 00       	jmp    0x140e4a300
140a99618:	48 83 c4 20          	add    $0x20,%rsp
140a9961c:	5d                   	pop    %rbp
140a9961d:	c3                   	ret
140a9961e:	cc                   	int3
140a9961f:	cc                   	int3
140a99620:	40 53                	rex push %rbx
140a99622:	48 83 ec 20          	sub    $0x20,%rsp
140a99626:	48 8b d9             	mov    %rcx,%rbx
140a99629:	ba 58 00 00 00       	mov    $0x58,%edx
140a9962e:	48 8b 49 18          	mov    0x18(%rcx),%rcx
140a99632:	e8 19 03 00 00       	call   0x140a99950
140a99637:	8b 15 ab 9b 91 00    	mov    0x919bab(%rip),%edx        # 0x1413b31e8
140a9963d:	89 10                	mov    %edx,(%rax)
140a9963f:	ff c2                	inc    %edx
140a99641:	33 c9                	xor    %ecx,%ecx
140a99643:	89 15 9f 9b 91 00    	mov    %edx,0x919b9f(%rip)        # 0x1413b31e8
140a99649:	89 48 04             	mov    %ecx,0x4(%rax)
140a9964c:	48 89 48 10          	mov    %rcx,0x10(%rax)
140a99650:	48 89 48 08          	mov    %rcx,0x8(%rax)
140a99654:	48 89 48 30          	mov    %rcx,0x30(%rax)
140a99658:	48 89 48 38          	mov    %rcx,0x38(%rax)
140a9965c:	48 89 48 40          	mov    %rcx,0x40(%rax)
140a99660:	48 89 48 18          	mov    %rcx,0x18(%rax)
140a99664:	48 89 48 20          	mov    %rcx,0x20(%rax)
140a99668:	48 89 48 28          	mov    %rcx,0x28(%rax)
140a9966c:	48 89 48 48          	mov    %rcx,0x48(%rax)
140a99670:	48 89 58 50          	mov    %rbx,0x50(%rax)
140a99674:	48 83 c4 20          	add    $0x20,%rsp
140a99678:	5b                   	pop    %rbx
140a99679:	c3                   	ret
140a9967a:	cc                   	int3
140a9967b:	cc                   	int3
140a9967c:	cc                   	int3
140a9967d:	cc                   	int3
140a9967e:	cc                   	int3
140a9967f:	cc                   	int3
140a99680:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140a99685:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140a9968a:	41 54                	push   %r12
140a9968c:	41 56                	push   %r14
140a9968e:	41 57                	push   %r15
140a99690:	48 83 ec 20          	sub    $0x20,%rsp
140a99694:	48 8b f9             	mov    %rcx,%rdi
140a99697:	45 33 e4             	xor    %r12d,%r12d
140a9969a:	48 8b 49 28          	mov    0x28(%rcx),%rcx
140a9969e:	0f b6 ea             	movzbl %dl,%ebp
140a996a1:	41 8b c4             	mov    %r12d,%eax
140a996a4:	4c 8d 77 28          	lea    0x28(%rdi),%r14
140a996a8:	48 85 c9             	test   %rcx,%rcx
140a996ab:	74 20                	je     0x140a996cd
140a996ad:	48 8b 57 18          	mov    0x18(%rdi),%rdx
140a996b1:	4c 8b c2             	mov    %rdx,%r8
140a996b4:	41 38 28             	cmp    %bpl,(%r8)
140a996b7:	0f 84 a5 00 00 00    	je     0x140a99762
140a996bd:	48 ff c0             	inc    %rax
140a996c0:	49 83 c0 10          	add    $0x10,%r8
140a996c4:	48 3b c1             	cmp    %rcx,%rax
140a996c7:	72 eb                	jb     0x140a996b4
140a996c9:	4c 8d 77 28          	lea    0x28(%rdi),%r14
140a996cd:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140a996d2:	ba 58 00 00 00       	mov    $0x58,%edx
140a996d7:	48 8b 5f 50          	mov    0x50(%rdi),%rbx
140a996db:	48 89 74 24 48       	mov    %rsi,0x48(%rsp)
140a996e0:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
140a996e4:	e8 67 02 00 00       	call   0x140a99950
140a996e9:	8b 0d f9 9a 91 00    	mov    0x919af9(%rip),%ecx        # 0x1413b31e8
140a996ef:	48 8b f0             	mov    %rax,%rsi
140a996f2:	89 08                	mov    %ecx,(%rax)
140a996f4:	ff c1                	inc    %ecx
140a996f6:	48 89 58 50          	mov    %rbx,0x50(%rax)
140a996fa:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140a996ff:	44 89 60 04          	mov    %r12d,0x4(%rax)
140a99703:	4c 89 60 10          	mov    %r12,0x10(%rax)
140a99707:	4c 89 60 08          	mov    %r12,0x8(%rax)
140a9970b:	4c 89 60 30          	mov    %r12,0x30(%rax)
140a9970f:	4c 89 60 38          	mov    %r12,0x38(%rax)
140a99713:	4c 89 60 40          	mov    %r12,0x40(%rax)
140a99717:	4c 89 60 18          	mov    %r12,0x18(%rax)
140a9971b:	4c 89 60 20          	mov    %r12,0x20(%rax)
140a9971f:	4c 89 60 28          	mov    %r12,0x28(%rax)
140a99723:	4c 89 60 48          	mov    %r12,0x48(%rax)
140a99727:	4c 8b 47 20          	mov    0x20(%rdi),%r8
140a9972b:	89 0d b7 9a 91 00    	mov    %ecx,0x919ab7(%rip)        # 0x1413b31e8
140a99731:	4c 39 47 28          	cmp    %r8,0x28(%rdi)
140a99735:	75 56                	jne    0x140a9978d
140a99737:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140a9973b:	33 d2                	xor    %edx,%edx
140a9973d:	48 ff c1             	inc    %rcx
140a99740:	b8 08 00 00 00       	mov    $0x8,%eax
140a99745:	48 f7 f1             	div    %rcx
140a99748:	48 ff c0             	inc    %rax
140a9974b:	4d 85 c0             	test   %r8,%r8
140a9974e:	75 24                	jne    0x140a99774
140a99750:	48 89 47 20          	mov    %rax,0x20(%rdi)
140a99754:	48 c1 e0 04          	shl    $0x4,%rax
140a99758:	48 8b c8             	mov    %rax,%rcx
140a9975b:	e8 cc 8f 39 00       	call   0x140e3272c
140a99760:	eb 27                	jmp    0x140a99789
140a99762:	48 03 c0             	add    %rax,%rax
140a99765:	4c 39 64 c2 08       	cmp    %r12,0x8(%rdx,%rax,8)
140a9976a:	0f 84 59 ff ff ff    	je     0x140a996c9
140a99770:	33 c0                	xor    %eax,%eax
140a99772:	eb 36                	jmp    0x140a997aa
140a99774:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
140a99778:	49 8d 14 00          	lea    (%r8,%rax,1),%rdx
140a9977c:	48 89 57 20          	mov    %rdx,0x20(%rdi)
140a99780:	48 c1 e2 04          	shl    $0x4,%rdx
140a99784:	e8 1f 7a 39 00       	call   0x140e311a8
140a99789:	48 89 47 18          	mov    %rax,0x18(%rdi)
140a9978d:	49 8b 06             	mov    (%r14),%rax
140a99790:	48 c1 e0 04          	shl    $0x4,%rax
140a99794:	48 03 47 18          	add    0x18(%rdi),%rax
140a99798:	48 89 70 08          	mov    %rsi,0x8(%rax)
140a9979c:	40 88 28             	mov    %bpl,(%rax)
140a9979f:	48 8b c6             	mov    %rsi,%rax
140a997a2:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140a997a7:	49 ff 06             	incq   (%r14)
140a997aa:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140a997af:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140a997b4:	48 83 c4 20          	add    $0x20,%rsp
140a997b8:	41 5f                	pop    %r15
140a997ba:	41 5e                	pop    %r14
140a997bc:	41 5c                	pop    %r12
140a997be:	c3                   	ret
140a997bf:	cc                   	int3
140a997c0:	0f b6 12             	movzbl (%rdx),%edx
140a997c3:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140a997c8:	38 11                	cmp    %dl,(%rcx)
140a997ca:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140a997d0:	41 0f 4d c0          	cmovge %r8d,%eax
140a997d4:	c3                   	ret
140a997d5:	cc                   	int3
140a997d6:	cc                   	int3
140a997d7:	cc                   	int3
140a997d8:	cc                   	int3
140a997d9:	cc                   	int3
140a997da:	cc                   	int3
140a997db:	cc                   	int3
140a997dc:	cc                   	int3
140a997dd:	cc                   	int3
140a997de:	cc                   	int3
140a997df:	cc                   	int3
140a997e0:	4c 8b 41 28          	mov    0x28(%rcx),%r8