1405492eb:	48 85 ff             	test   %rdi,%rdi
1405492ee:	0f 84 31 06 00 00    	je     0x140549925
1405492f4:	80 7f 28 0e          	cmpb   $0xe,0x28(%rdi)
1405492f8:	0f 85 27 06 00 00    	jne    0x140549925
1405492fe:	48 85 ff             	test   %rdi,%rdi
140549301:	0f 84 1e 06 00 00    	je     0x140549925
140549307:	4c 8b 07             	mov    (%rdi),%r8
14054930a:	49 83 c0 60          	add    $0x60,%r8
14054930e:	0f 84 ea 05 00 00    	je     0x1405498fe
140549314:	41 80 78 28 0e       	cmpb   $0xe,0x28(%r8)
140549319:	0f 85 df 05 00 00    	jne    0x1405498fe
14054931f:	48 8d 44 24 58       	lea    0x58(%rsp),%rax
140549324:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140549329:	4d 8b 00             	mov    (%r8),%r8
14054932c:	49 83 c0 60          	add    $0x60,%r8
140549330:	c6 45 80 ff          	movb   $0xff,-0x80(%rbp)
140549334:	48 8d 44 24 58       	lea    0x58(%rsp),%rax
140549339:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
14054933e:	49 0f be 48 28       	movsbq 0x28(%r8),%rcx
140549343:	48 ff c1             	inc    %rcx
140549346:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
14054934b:	e8 10 77 ff ff       	call   0x140540a60
140549350:	90                   	nop
140549351:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
140549356:	48 8b ce             	mov    %rsi,%rcx
140549359:	e8 32 b8 04 00       	call   0x140594b90
14054935e:	84 c0                	test   %al,%al
140549360:	75 76                	jne    0x1405493d8
140549362:	48 8d 15 87 4b ac 00 	lea    0xac4b87(%rip),%rdx        # 0x14100def0
140549369:	48 8b 0d 88 81 ee 00 	mov    0xee8188(%rip),%rcx        # 0x1414314f8
140549370:	e8 8b b4 24 00       	call   0x140794800
140549375:	90                   	nop
140549376:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
14054937b:	e8 d0 9b ff ff       	call   0x140542f50
140549380:	90                   	nop
140549381:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140549386:	48 85 c9             	test   %rcx,%rcx
140549389:	74 24                	je     0x1405493af
14054938b:	8b 41 10             	mov    0x10(%rcx),%eax
14054938e:	ff c8                	dec    %eax
140549390:	89 41 10             	mov    %eax,0x10(%rcx)
140549393:	85 c0                	test   %eax,%eax
140549395:	7f 18                	jg     0x1405493af
140549397:	0f 88 d1 04 00 00    	js     0x14054986e
14054939d:	48 8b 01             	mov    (%rcx),%rax
1405493a0:	ba 01 00 00 00       	mov    $0x1,%edx
1405493a5:	48 8b 00             	mov    (%rax),%rax
1405493a8:	ff 15 72 a6 a3 00    	call   *0xa3a672(%rip)        # 0x140f83a20
1405493ae:	90                   	nop
1405493af:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1405493b4:	48 85 c9             	test   %rcx,%rcx
1405493b7:	0f 84 8e 03 00 00    	je     0x14054974b
1405493bd:	8b 41 10             	mov    0x10(%rcx),%eax
1405493c0:	ff c8                	dec    %eax
1405493c2:	89 41 10             	mov    %eax,0x10(%rcx)
1405493c5:	85 c0                	test   %eax,%eax
1405493c7:	0f 8f 7e 03 00 00    	jg     0x14054974b
1405493cd:	0f 88 53 04 00 00    	js     0x140549826
1405493d3:	e9 61 03 00 00       	jmp    0x140549739
1405493d8:	48 85 ff             	test   %rdi,%rdi
1405493db:	0f 84 f6 04 00 00    	je     0x1405498d7
1405493e1:	80 7f 28 0e          	cmpb   $0xe,0x28(%rdi)
1405493e5:	0f 85 ec 04 00 00    	jne    0x1405498d7
1405493eb:	48 85 ff             	test   %rdi,%rdi
1405493ee:	0f 84 e3 04 00 00    	je     0x1405498d7
1405493f4:	4c 8b 3f             	mov    (%rdi),%r15
1405493f7:	49 83 c7 60          	add    $0x60,%r15
1405493fb:	0f 84 af 04 00 00    	je     0x1405498b0
140549401:	41 80 7f 28 0e       	cmpb   $0xe,0x28(%r15)
140549406:	0f 85 a4 04 00 00    	jne    0x1405498b0
14054940c:	4d 8b 3f             	mov    (%r15),%r15
14054940f:	49 81 c7 90 00 00 00 	add    $0x90,%r15
140549416:	0f 84 b4 02 00 00    	je     0x1405496d0
14054941c:	41 80 7f 28 0e       	cmpb   $0xe,0x28(%r15)
140549421:	0f 85 a9 02 00 00    	jne    0x1405496d0
140549427:	49 8b 4f 08          	mov    0x8(%r15),%rcx
14054942b:	49 2b 0f             	sub    (%r15),%rcx
14054942e:	49 8b c4             	mov    %r12,%rax
140549431:	48 f7 e9             	imul   %rcx
140549434:	4c 8b e2             	mov    %rdx,%r12
140549437:	49 c1 fc 03          	sar    $0x3,%r12
14054943b:	49 8b c4             	mov    %r12,%rax
14054943e:	48 c1 e8 3f          	shr    $0x3f,%rax
140549442:	4c 03 e0             	add    %rax,%r12
140549445:	b8 08 00 00 00       	mov    $0x8,%eax
14054944a:	49 f7 e4             	mul    %r12
14054944d:	48 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%rcx
140549454:	48 0f 42 c1          	cmovb  %rcx,%rax
140549458:	48 8b c8             	mov    %rax,%rcx
14054945b:	e8 bc 21 8d 00       	call   0x140e1b61c
140549460:	4c 8b e8             	mov    %rax,%r13
140549463:	49 8b de             	mov    %r14,%rbx
140549466:	4d 85 e4             	test   %r12,%r12
140549469:	74 59                	je     0x1405494c4
14054946b:	48 8d 44 24 58       	lea    0x58(%rsp),%rax
140549470:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140549475:	48 8d 44 24 58       	lea    0x58(%rsp),%rax
14054947a:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
14054947f:	90                   	nop
140549480:	4d 8b 07             	mov    (%r15),%r8
140549483:	4d 03 c6             	add    %r14,%r8
140549486:	c6 45 80 ff          	movb   $0xff,-0x80(%rbp)
14054948a:	49 0f be 48 28       	movsbq 0x28(%r8),%rcx
14054948f:	48 ff c1             	inc    %rcx
140549492:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140549497:	e8 c4 75 ff ff       	call   0x140540a60
14054949c:	90                   	nop
14054949d:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
1405494a2:	e8 a9 b2 00 00       	call   0x140554750
1405494a7:	48 85 c0             	test   %rax,%rax
1405494aa:	0f 84 05 01 00 00    	je     0x1405495b5
1405494b0:	49 89 44 dd 00       	mov    %rax,0x0(%r13,%rbx,8)
1405494b5:	48 ff c3             	inc    %rbx
1405494b8:	49 83 c6 30          	add    $0x30,%r14
1405494bc:	49 3b dc             	cmp    %r12,%rbx
1405494bf:	72 bf                	jb     0x140549480
1405494c1:	45 33 f6             	xor    %r14d,%r14d
1405494c4:	4c 89 74 24 48       	mov    %r14,0x48(%rsp)
1405494c9:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
1405494ce:	e8 5d b1 1e 00       	call   0x140734630
1405494d3:	48 8b d8             	mov    %rax,%rbx
1405494d6:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1405494db:	e8 50 b1 1e 00       	call   0x140734630
1405494e0:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
1405494e5:	44 89 64 24 20       	mov    %r12d,0x20(%rsp)
1405494ea:	4c 8b ce             	mov    %rsi,%r9
1405494ed:	4c 8b c3             	mov    %rbx,%r8
1405494f0:	48 8b d0             	mov    %rax,%rdx
1405494f3:	48 8b 0d 16 99 ee 00 	mov    0xee9916(%rip),%rcx        # 0x141432e10
1405494fa:	e8 01 fa 04 00       	call   0x140598f00
1405494ff:	84 c0                	test   %al,%al
140549501:	75 47                	jne    0x14054954a
140549503:	45 33 c0             	xor    %r8d,%r8d
140549506:	33 d2                	xor    %edx,%edx
140549508:	48 8d 4d a0          	lea    -0x60(%rbp),%rcx
14054950c:	e8 8f a2 2d 00       	call   0x1408237a0
140549511:	90                   	nop
140549512:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140549517:	48 8b 01             	mov    (%rcx),%rax
14054951a:	48 8d 55 a0          	lea    -0x60(%rbp),%rdx
14054951e:	48 8b 40 08          	mov    0x8(%rax),%rax
140549522:	ff 15 f8 a4 a3 00    	call   *0xa3a4f8(%rip)        # 0x140f83a20
140549528:	4c 8b 45 a8          	mov    -0x58(%rbp),%r8
14054952c:	48 8d 15 3d 4a ac 00 	lea    0xac4a3d(%rip),%rdx        # 0x14100df70
140549533:	48 8b 0d be 7f ee 00 	mov    0xee7fbe(%rip),%rcx        # 0x1414314f8
14054953a:	e8 c1 b2 24 00       	call   0x140794800
14054953f:	90                   	nop
140549540:	48 8d 4d a0          	lea    -0x60(%rbp),%rcx
140549544:	e8 57 a3 2d 00       	call   0x1408238a0
140549549:	90                   	nop
14054954a:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
14054954f:	48 85 c9             	test   %rcx,%rcx
140549552:	74 24                	je     0x140549578
140549554:	8b 41 10             	mov    0x10(%rcx),%eax
140549557:	ff c8                	dec    %eax
140549559:	89 41 10             	mov    %eax,0x10(%rcx)
14054955c:	85 c0                	test   %eax,%eax
14054955e:	7f 18                	jg     0x140549578
140549560:	0f 88 13 03 00 00    	js     0x140549879
140549566:	48 8b 01             	mov    (%rcx),%rax
140549569:	ba 01 00 00 00       	mov    $0x1,%edx
14054956e:	48 8b 00             	mov    (%rax),%rax
140549571:	ff 15 a9 a4 a3 00    	call   *0xa3a4a9(%rip)        # 0x140f83a20
140549577:	90                   	nop
140549578:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
14054957d:	48 85 c9             	test   %rcx,%rcx
140549580:	74 24                	je     0x1405495a6
140549582:	8b 41 10             	mov    0x10(%rcx),%eax
140549585:	ff c8                	dec    %eax
140549587:	89 41 10             	mov    %eax,0x10(%rcx)
14054958a:	85 c0                	test   %eax,%eax
14054958c:	7f 18                	jg     0x1405495a6
14054958e:	0f 88 fb 02 00 00    	js     0x14054988f
140549594:	48 8b 01             	mov    (%rcx),%rax
140549597:	ba 01 00 00 00       	mov    $0x1,%edx
14054959c:	48 8b 00             	mov    (%rax),%rax
14054959f:	ff 15 7b a4 a3 00    	call   *0xa3a47b(%rip)        # 0x140f83a20
1405495a5:	90                   	nop
1405495a6:	48 8b cf             	mov    %rdi,%rcx
1405495a9:	e8 f2 86 e7 ff       	call   0x1403c1ca0
1405495ae:	b0 01                	mov    $0x1,%al
1405495b0:	e9 a0 01 00 00       	jmp    0x140549755
1405495b5:	4c 8b c3             	mov    %rbx,%r8
1405495b8:	48 8d 15 81 49 ac 00 	lea    0xac4981(%rip),%rdx        # 0x14100df40
1405495bf:	48 8b 0d 32 7f ee 00 	mov    0xee7f32(%rip),%rcx        # 0x1414314f8
1405495c6:	e8 35 b2 24 00       	call   0x140794800
1405495cb:	49 8b cd             	mov    %r13,%rcx
1405495ce:	e8 71 1b 8d 00       	call   0x140e1b144
1405495d3:	90                   	nop
1405495d4:	48 85 f6             	test   %rsi,%rsi
1405495d7:	0f 84 9f 00 00 00    	je     0x14054967c
1405495dd:	48 8b 0e             	mov    (%rsi),%rcx
1405495e0:	e8 5f 1b 8d 00       	call   0x140e1b144
1405495e5:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1405495e9:	e8 56 1b 8d 00       	call   0x140e1b144
1405495ee:	48 8b 46 28          	mov    0x28(%rsi),%rax
1405495f2:	48 8b 18             	mov    (%rax),%rbx
1405495f5:	48 3b d8             	cmp    %rax,%rbx
1405495f8:	74 6b                	je     0x140549665
1405495fa:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140549600:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
140549604:	e8 3b 1b 8d 00       	call   0x140e1b144
140549609:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
14054960d:	e8 32 1b 8d 00       	call   0x140e1b144
140549612:	48 8b 43 10          	mov    0x10(%rbx),%rax
140549616:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
14054961a:	74 22                	je     0x14054963e
14054961c:	48 8b 43 08          	mov    0x8(%rbx),%rax
140549620:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140549624:	75 13                	jne    0x140549639
140549626:	48 3b 58 10          	cmp    0x10(%rax),%rbx
14054962a:	75 0d                	jne    0x140549639
14054962c:	48 8b d8             	mov    %rax,%rbx
14054962f:	48 8b 40 08          	mov    0x8(%rax),%rax
140549633:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140549637:	74 ed                	je     0x140549626
140549639:	48 8b d8             	mov    %rax,%rbx
14054963c:	eb 21                	jmp    0x14054965f
14054963e:	48 8b d8             	mov    %rax,%rbx
140549641:	48 8b 08             	mov    (%rax),%rcx
140549644:	80 79 19 00          	cmpb   $0x0,0x19(%rcx)
140549648:	75 15                	jne    0x14054965f
14054964a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140549650:	48 8b d9             	mov    %rcx,%rbx
140549653:	48 8b 01             	mov    (%rcx),%rax
140549656:	48 8b c8             	mov    %rax,%rcx
140549659:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
14054965d:	74 f1                	je     0x140549650
14054965f:	48 3b 5e 28          	cmp    0x28(%rsi),%rbx
140549663:	75 9b                	jne    0x140549600
140549665:	48 8d 4e 28          	lea    0x28(%rsi),%rcx
140549669:	e8 c2 cc ee ff       	call   0x140436330
14054966e:	ba 38 00 00 00       	mov    $0x38,%edx
140549673:	48 8b ce             	mov    %rsi,%rcx
140549676:	e8 c9 1a 8d 00       	call   0x140e1b144
14054967b:	90                   	nop
14054967c:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140549681:	48 85 c9             	test   %rcx,%rcx
140549684:	74 24                	je     0x1405496aa
140549686:	8b 41 10             	mov    0x10(%rcx),%eax
140549689:	ff c8                	dec    %eax
14054968b:	89 41 10             	mov    %eax,0x10(%rcx)
14054968e:	85 c0                	test   %eax,%eax
140549690:	7f 18                	jg     0x1405496aa
140549692:	0f 88 ec 01 00 00    	js     0x140549884
140549698:	48 8b 01             	mov    (%rcx),%rax
14054969b:	ba 01 00 00 00       	mov    $0x1,%edx
1405496a0:	48 8b 00             	mov    (%rax),%rax
1405496a3:	ff 15 77 a3 a3 00    	call   *0xa3a377(%rip)        # 0x140f83a20
1405496a9:	90                   	nop
1405496aa:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1405496af:	48 85 c9             	test   %rcx,%rcx
1405496b2:	0f 84 93 00 00 00    	je     0x14054974b
1405496b8:	8b 41 10             	mov    0x10(%rcx),%eax
1405496bb:	ff c8                	dec    %eax
1405496bd:	89 41 10             	mov    %eax,0x10(%rcx)
1405496c0:	85 c0                	test   %eax,%eax
1405496c2:	0f 8f 83 00 00 00    	jg     0x14054974b
1405496c8:	0f 88 63 01 00 00    	js     0x140549831
1405496ce:	eb 69                	jmp    0x140549739
1405496d0:	48 8d 15 41 48 ac 00 	lea    0xac4841(%rip),%rdx        # 0x14100df18
1405496d7:	48 8b 0d 1a 7e ee 00 	mov    0xee7e1a(%rip),%rcx        # 0x1414314f8
1405496de:	e8 1d b1 24 00       	call   0x140794800
1405496e3:	90                   	nop
1405496e4:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
1405496e9:	e8 62 98 ff ff       	call   0x140542f50
1405496ee:	90                   	nop
1405496ef:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
1405496f4:	48 85 c9             	test   %rcx,%rcx
1405496f7:	74 24                	je     0x14054971d
1405496f9:	8b 41 10             	mov    0x10(%rcx),%eax
1405496fc:	ff c8                	dec    %eax
1405496fe:	89 41 10             	mov    %eax,0x10(%rcx)
140549701:	85 c0                	test   %eax,%eax
140549703:	7f 18                	jg     0x14054971d
140549705:	0f 88 8f 01 00 00    	js     0x14054989a
14054970b:	48 8b 01             	mov    (%rcx),%rax
14054970e:	ba 01 00 00 00       	mov    $0x1,%edx
140549713:	48 8b 00             	mov    (%rax),%rax
140549716:	ff 15 04 a3 a3 00    	call   *0xa3a304(%rip)        # 0x140f83a20
14054971c:	90                   	nop
14054971d:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140549722:	48 85 c9             	test   %rcx,%rcx
140549725:	74 24                	je     0x14054974b
140549727:	8b 41 10             	mov    0x10(%rcx),%eax
14054972a:	ff c8                	dec    %eax
14054972c:	89 41 10             	mov    %eax,0x10(%rcx)
14054972f:	85 c0                	test   %eax,%eax
140549731:	7f 18                	jg     0x14054974b
140549733:	0f 88 6c 01 00 00    	js     0x1405498a5
140549739:	48 8b 01             	mov    (%rcx),%rax
14054973c:	ba 01 00 00 00       	mov    $0x1,%edx
140549741:	48 8b 00             	mov    (%rax),%rax
140549744:	ff 15 d6 a2 a3 00    	call   *0xa3a2d6(%rip)        # 0x140f83a20
14054974a:	90                   	nop
14054974b:	48 8b cf             	mov    %rdi,%rcx
14054974e:	e8 4d 85 e7 ff       	call   0x1403c1ca0
140549753:	32 c0                	xor    %al,%al
140549755:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
140549759:	48 33 cc             	xor    %rsp,%rcx
14054975c:	e8 9f 1d 8d 00       	call   0x140e1b500
140549761:	48 8b 9c 24 70 01 00 	mov    0x170(%rsp),%rbx
140549768:	00
140549769:	48 81 c4 20 01 00 00 	add    $0x120,%rsp
140549770:	41 5f                	pop    %r15
140549772:	41 5e                	pop    %r14
140549774:	41 5d                	pop    %r13
140549776:	41 5c                	pop    %r12
140549778:	5f                   	pop    %rdi
140549779:	5e                   	pop    %rsi
14054977a:	5d                   	pop    %rbp
14054977b:	c3                   	ret
14054977c:	0f 57 c0             	xorps  %xmm0,%xmm0
14054977f:	0f 11 45 f0          	movups %xmm0,-0x10(%rbp)
140549783:	66 0f 6f 0d a5 a6 a5 	movdqa 0xa5a6a5(%rip),%xmm1        # 0x140fa3e30
14054978a:	00
14054978b:	f3 0f 7f 4d 00       	movdqu %xmm1,0x0(%rbp)
140549790:	c6 45 f0 00          	movb   $0x0,-0x10(%rbp)
140549794:	c7 44 24 48 01 00 00 	movl   $0x1,0x48(%rsp)
14054979b:	00
14054979c:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
1405497a0:	48 8b cf             	mov    %rdi,%rcx
1405497a3:	e8 48 1a 48 00       	call   0x1409cb1f0
1405497a8:	4c 8d 45 f0          	lea    -0x10(%rbp),%r8
1405497ac:	48 83 7d 08 0f       	cmpq   $0xf,0x8(%rbp)
1405497b1:	4c 0f 47 45 f0       	cmova  -0x10(%rbp),%r8
1405497b6:	48 8d 15 bb 46 ac 00 	lea    0xac46bb(%rip),%rdx        # 0x14100de78
1405497bd:	48 8b 0d 34 7d ee 00 	mov    0xee7d34(%rip),%rcx        # 0x1414314f8
1405497c4:	e8 37 b0 24 00       	call   0x140794800
1405497c9:	90                   	nop
1405497ca:	48 8b 55 08          	mov    0x8(%rbp),%rdx
1405497ce:	48 83 fa 0f          	cmp    $0xf,%rdx
1405497d2:	0f 86 73 ff ff ff    	jbe    0x14054974b
1405497d8:	48 ff c2             	inc    %rdx
1405497db:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
1405497df:	48 8b c1             	mov    %rcx,%rax
1405497e2:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1405497e9:	72 15                	jb     0x140549800
1405497eb:	48 83 c2 27          	add    $0x27,%rdx
1405497ef:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1405497f3:	48 2b c1             	sub    %rcx,%rax
1405497f6:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1405497fa:	48 83 f8 1f          	cmp    $0x1f,%rax
1405497fe:	77 0a                	ja     0x14054980a
140549800:	e8 3f 19 8d 00       	call   0x140e1b144
140549805:	e9 41 ff ff ff       	jmp    0x14054974b
14054980a:	e8 95 09 8e 00       	call   0x140e2a1a4
14054980f:	90                   	nop
140549810:	b9 02 00 00 00       	mov    $0x2,%ecx
140549815:	e8 e6 0e 24 00       	call   0x14078a700