14009649f:	8b cf                	mov    %edi,%ecx
1400964a1:	85 ff                	test   %edi,%edi
1400964a3:	74 17                	je     0x1400964bc
1400964a5:	83 e9 01             	sub    $0x1,%ecx
1400964a8:	74 33                	je     0x1400964dd
1400964aa:	83 f9 01             	cmp    $0x1,%ecx
1400964ad:	74 1d                	je     0x1400964cc
1400964af:	45 33 c9             	xor    %r9d,%r9d
1400964b2:	4c 89 4d 17          	mov    %r9,0x17(%rbp)
1400964b6:	48 8b 45 07          	mov    0x7(%rbp),%rax
1400964ba:	eb 2f                	jmp    0x1400964eb
1400964bc:	41 b9 01 00 00 00    	mov    $0x1,%r9d
1400964c2:	4c 89 4d 17          	mov    %r9,0x17(%rbp)
1400964c6:	48 8b 45 07          	mov    0x7(%rbp),%rax
1400964ca:	eb 1f                	jmp    0x1400964eb
1400964cc:	4c 8b 53 08          	mov    0x8(%rbx),%r10
1400964d0:	4d 8b 12             	mov    (%r10),%r10
1400964d3:	4c 89 55 0f          	mov    %r10,0xf(%rbp)
1400964d7:	48 8b 45 07          	mov    0x7(%rbp),%rax
1400964db:	eb 13                	jmp    0x1400964f0
1400964dd:	48 8b 43 08          	mov    0x8(%rbx),%rax
1400964e1:	48 8b 00             	mov    (%rax),%rax
1400964e4:	48 8b 00             	mov    (%rax),%rax
1400964e7:	48 89 45 07          	mov    %rax,0x7(%rbp)
1400964eb:	4c 8b 55 0f          	mov    0xf(%rbp),%r10
1400964ef:	90                   	nop
1400964f0:	0f 57 c0             	xorps  %xmm0,%xmm0
1400964f3:	f3 0f 7f 45 df       	movdqu %xmm0,-0x21(%rbp)
1400964f8:	0f 57 c9             	xorps  %xmm1,%xmm1
1400964fb:	f3 0f 7f 4d e7       	movdqu %xmm1,-0x19(%rbp)
140096500:	4d 8b c6             	mov    %r14,%r8
140096503:	0f b6 13             	movzbl (%rbx),%edx
140096506:	44 8b da             	mov    %edx,%r11d
140096509:	41 83 eb 01          	sub    $0x1,%r11d
14009650d:	74 2a                	je     0x140096539
14009650f:	41 83 fb 01          	cmp    $0x1,%r11d
140096513:	74 16                	je     0x14009652b
140096515:	83 ea 01             	sub    $0x1,%edx
140096518:	74 1f                	je     0x140096539
14009651a:	83 fa 01             	cmp    $0x1,%edx
14009651d:	74 0c                	je     0x14009652b
14009651f:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140096525:	48 8b 4d df          	mov    -0x21(%rbp),%rcx
140096529:	eb 15                	jmp    0x140096540
14009652b:	48 8b 53 08          	mov    0x8(%rbx),%rdx
14009652f:	48 8b 52 08          	mov    0x8(%rdx),%rdx
140096533:	48 8b 4d df          	mov    -0x21(%rbp),%rcx
140096537:	eb 0b                	jmp    0x140096544
140096539:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14009653d:	48 8b 09             	mov    (%rcx),%rcx
140096540:	48 8b 55 e7          	mov    -0x19(%rbp),%rdx
140096544:	44 8b df             	mov    %edi,%r11d
140096547:	41 83 eb 01          	sub    $0x1,%r11d
14009654b:	74 10                	je     0x14009655d
14009654d:	41 83 fb 01          	cmp    $0x1,%r11d
140096551:	74 05                	je     0x140096558
140096553:	4d 3b c8             	cmp    %r8,%r9
140096556:	eb 08                	jmp    0x140096560
140096558:	4c 3b d2             	cmp    %rdx,%r10
14009655b:	eb 03                	jmp    0x140096560
14009655d:	48 3b c1             	cmp    %rcx,%rax
140096560:	0f 94 c1             	sete   %cl
140096563:	84 c9                	test   %cl,%cl
140096565:	0f 85 d8 00 00 00    	jne    0x140096643
14009656b:	8b d7                	mov    %edi,%edx
14009656d:	83 ea 01             	sub    $0x1,%edx
140096570:	74 18                	je     0x14009658a
140096572:	83 fa 01             	cmp    $0x1,%edx
140096575:	74 0e                	je     0x140096585
140096577:	4d 85 c9             	test   %r9,%r9
14009657a:	0f 85 e9 00 00 00    	jne    0x140096669
140096580:	48 8b cb             	mov    %rbx,%rcx
140096583:	eb 09                	jmp    0x14009658e
140096585:	49 8b ca             	mov    %r10,%rcx
140096588:	eb 04                	jmp    0x14009658e
14009658a:	48 8d 48 40          	lea    0x40(%rax),%rcx
14009658e:	80 39 09             	cmpb   $0x9,(%rcx)
140096591:	0f 84 81 00 00 00    	je     0x140096618
140096597:	8b d7                	mov    %edi,%edx
140096599:	83 ea 01             	sub    $0x1,%edx
14009659c:	74 1e                	je     0x1400965bc
14009659e:	83 fa 01             	cmp    $0x1,%edx
1400965a1:	74 0c                	je     0x1400965af
1400965a3:	49 ff c1             	inc    %r9
1400965a6:	4c 89 4d 17          	mov    %r9,0x17(%rbp)
1400965aa:	e9 41 ff ff ff       	jmp    0x1400964f0
1400965af:	49 83 c2 10          	add    $0x10,%r10
1400965b3:	4c 89 55 0f          	mov    %r10,0xf(%rbp)
1400965b7:	e9 34 ff ff ff       	jmp    0x1400964f0
1400965bc:	48 8b c8             	mov    %rax,%rcx
1400965bf:	48 8b 40 10          	mov    0x10(%rax),%rax
1400965c3:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
1400965c7:	74 26                	je     0x1400965ef
1400965c9:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400965cd:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
1400965d1:	75 3c                	jne    0x14009660f
1400965d3:	48 3b 48 10          	cmp    0x10(%rax),%rcx
1400965d7:	75 36                	jne    0x14009660f
1400965d9:	48 8b c8             	mov    %rax,%rcx
1400965dc:	48 8b 40 08          	mov    0x8(%rax),%rax
1400965e0:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
1400965e4:	74 ed                	je     0x1400965d3
1400965e6:	48 89 45 07          	mov    %rax,0x7(%rbp)
1400965ea:	e9 01 ff ff ff       	jmp    0x1400964f0
1400965ef:	48 8b 10             	mov    (%rax),%rdx
1400965f2:	80 7a 19 00          	cmpb   $0x0,0x19(%rdx)
1400965f6:	75 17                	jne    0x14009660f
1400965f8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1400965ff:	00
140096600:	48 8b c2             	mov    %rdx,%rax
140096603:	48 8b 0a             	mov    (%rdx),%rcx
140096606:	48 8b d1             	mov    %rcx,%rdx
140096609:	80 79 19 00          	cmpb   $0x0,0x19(%rcx)
14009660d:	74 f1                	je     0x140096600
14009660f:	48 89 45 07          	mov    %rax,0x7(%rbp)
140096613:	e9 d8 fe ff ff       	jmp    0x1400964f0
140096618:	48 89 5d d7          	mov    %rbx,-0x29(%rbp)
14009661c:	0f 10 45 07          	movups 0x7(%rbp),%xmm0
140096620:	0f 11 45 df          	movups %xmm0,-0x21(%rbp)
140096624:	f2 0f 10 4d 17       	movsd  0x17(%rbp),%xmm1
140096629:	f2 0f 11 4d ef       	movsd  %xmm1,-0x11(%rbp)
14009662e:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140096632:	4c 8d 45 d7          	lea    -0x29(%rbp),%r8
140096636:	48 8d 55 ff          	lea    -0x1(%rbp),%rdx
14009663a:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
14009663e:	e8 7d 0e 00 00       	call   0x1400974c0
140096643:	b0 01                	mov    $0x1,%al
140096645:	48 8b 4d 37          	mov    0x37(%rbp),%rcx
140096649:	48 33 cc             	xor    %rsp,%rcx
14009664c:	e8 5f 98 21 00       	call   0x1402afeb0
140096651:	4c 8d 9c 24 90 00 00 	lea    0x90(%rsp),%r11
140096658:	00
140096659:	49 8b 5b 28          	mov    0x28(%r11),%rbx
14009665d:	49 8b 73 30          	mov    0x30(%r11),%rsi
140096661:	49 8b e3             	mov    %r11,%rsp
140096664:	41 5e                	pop    %r14
140096666:	5f                   	pop    %rdi
140096667:	5d                   	pop    %rbp
140096668:	c3                   	ret
140096669:	48 8d 15 70 2b 31 00 	lea    0x312b70(%rip),%rdx        # 0x1403a91e0
140096670:	48 8d 4d d7          	lea    -0x29(%rbp),%rcx
140096674:	e8 a7 55 fe ff       	call   0x14007bc20
140096679:	90                   	nop
14009667a:	4c 8d 45 d7          	lea    -0x29(%rbp),%r8
14009667e:	ba d6 00 00 00       	mov    $0xd6,%edx
140096683:	48 8d 4d ff          	lea    -0x1(%rbp),%rcx
140096687:	e8 44 18 ff ff       	call   0x140087ed0
14009668c:	48 8d 15 8d 6a 33 00 	lea    0x336a8d(%rip),%rdx        # 0x1403cd120
140096693:	48 8d 4d ff          	lea    -0x1(%rbp),%rcx
140096697:	e8 14 be 21 00       	call   0x1402b24b0
14009669c:	90                   	nop
14009669d:	e8 ee 78 21 00       	call   0x1402adf90
1400966a2:	cc                   	int3
1400966a3:	cc                   	int3
1400966a4:	cc                   	int3
1400966a5:	cc                   	int3
1400966a6:	cc                   	int3
1400966a7:	cc                   	int3
1400966a8:	cc                   	int3
1400966a9:	cc                   	int3
1400966aa:	cc                   	int3
1400966ab:	cc                   	int3
1400966ac:	cc                   	int3
1400966ad:	cc                   	int3
1400966ae:	cc                   	int3
1400966af:	cc                   	int3
1400966b0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1400966b5:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1400966ba:	55                   	push   %rbp
1400966bb:	57                   	push   %rdi
1400966bc:	41 56                	push   %r14
1400966be:	48 8d 6c 24 b9       	lea    -0x47(%rsp),%rbp
1400966c3:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
1400966ca:	48 8b 05 af f3 33 00 	mov    0x33f3af(%rip),%rax        # 0x1403d5a80
1400966d1:	48 33 c4             	xor    %rsp,%rax
1400966d4:	48 89 45 37          	mov    %rax,0x37(%rbp)
1400966d8:	4c 8b f2             	mov    %rdx,%r14
1400966db:	48 8b f1             	mov    %rcx,%rsi
1400966de:	33 c0                	xor    %eax,%eax
1400966e0:	48 89 45 2f          	mov    %rax,0x2f(%rbp)
1400966e4:	c6 45 27 03          	movb   $0x3,0x27(%rbp)
1400966e8:	0f 57 c0             	xorps  %xmm0,%xmm0
1400966eb:	0f 11 45 17          	movups %xmm0,0x17(%rbp)
1400966ef:	b9 20 00 00 00       	mov    $0x20,%ecx
1400966f4:	e8 d7 97 21 00       	call   0x1402afed0
1400966f9:	48 8b d8             	mov    %rax,%rbx
1400966fc:	48 8d 45 07          	lea    0x7(%rbp),%rax
140096700:	48 89 45 17          	mov    %rax,0x17(%rbp)
140096704:	48 89 5d 1f          	mov    %rbx,0x1f(%rbp)
140096708:	49 8b d6             	mov    %r14,%rdx
14009670b:	48 8b cb             	mov    %rbx,%rcx
14009670e:	e8 0d 7e fe ff       	call   0x14007e520
140096713:	90                   	nop
140096714:	48 89 5d 2f          	mov    %rbx,0x2f(%rbp)
140096718:	c6 45 07 04          	movb   $0x4,0x7(%rbp)
14009671c:	48 8b 46 10          	mov    0x10(%rsi),%rax
140096720:	48 2b 46 08          	sub    0x8(%rsi),%rax
140096724:	48 c1 f8 03          	sar    $0x3,%rax
140096728:	89 45 17             	mov    %eax,0x17(%rbp)
14009672b:	48 8b 8e a8 00 00 00 	mov    0xa8(%rsi),%rcx
140096732:	48 85 c9             	test   %rcx,%rcx
140096735:	0f 84 1c 01 00 00    	je     0x140096857
14009673b:	48 8b 01             	mov    (%rcx),%rax
14009673e:	4c 8d 4d 27          	lea    0x27(%rbp),%r9
140096742:	4c 8d 45 07          	lea    0x7(%rbp),%r8
140096746:	48 8d 55 17          	lea    0x17(%rbp),%rdx
14009674a:	ff 50 10             	call   *0x10(%rax)
14009674d:	88 45 07             	mov    %al,0x7(%rbp)
140096750:	48 8b 56 40          	mov    0x40(%rsi),%rdx
140096754:	48 8b 4e 58          	mov    0x58(%rsi),%rcx
140096758:	48 85 c9             	test   %rcx,%rcx
14009675b:	79 1f                	jns    0x14009677c
14009675d:	48 8b c1             	mov    %rcx,%rax
140096760:	48 f7 d8             	neg    %rax
140096763:	74 17                	je     0x14009677c
140096765:	48 8b c1             	mov    %rcx,%rax
140096768:	48 f7 d0             	not    %rax
14009676b:	48 c1 e8 05          	shr    $0x5,%rax
14009676f:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
140096776:	00
140096777:	48 2b d0             	sub    %rax,%rdx
14009677a:	eb 0b                	jmp    0x140096787
14009677c:	48 8b c1             	mov    %rcx,%rax
14009677f:	48 c1 e8 05          	shr    $0x5,%rax
140096783:	48 8d 14 82          	lea    (%rdx,%rax,4),%rdx
140096787:	b8 1f 00 00 00       	mov    $0x1f,%eax
14009678c:	48 89 55 17          	mov    %rdx,0x17(%rbp)
140096790:	48 23 c1             	and    %rcx,%rax
140096793:	48 89 45 1f          	mov    %rax,0x1f(%rbp)
140096797:	48 8d 45 07          	lea    0x7(%rbp),%rax
14009679b:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400967a0:	4c 8d 45 17          	lea    0x17(%rbp),%r8
1400967a4:	48 8d 55 e7          	lea    -0x19(%rbp),%rdx
1400967a8:	48 8d 4e 40          	lea    0x40(%rsi),%rcx
1400967ac:	e8 bf b3 ff ff       	call   0x140091b70
1400967b1:	80 7d 07 00          	cmpb   $0x0,0x7(%rbp)
1400967b5:	74 6d                	je     0x140096824
1400967b7:	48 8b 46 10          	mov    0x10(%rsi),%rax
1400967bb:	48 83 78 f8 00       	cmpq   $0x0,-0x8(%rax)
1400967c0:	74 62                	je     0x140096824
1400967c2:	48 8d 45 e7          	lea    -0x19(%rbp),%rax
1400967c6:	48 89 45 17          	mov    %rax,0x17(%rbp)
1400967ca:	48 8d 96 b8 00 00 00 	lea    0xb8(%rsi),%rdx
1400967d1:	48 8d 4d e7          	lea    -0x19(%rbp),%rcx
1400967d5:	e8 c6 49 ff ff       	call   0x14008b1a0
1400967da:	48 8b f8             	mov    %rax,%rdi
1400967dd:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
1400967e1:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
1400967e5:	48 8b 4a 08          	mov    0x8(%rdx),%rcx
1400967e9:	4d 8b c6             	mov    %r14,%r8
1400967ec:	48 8d 55 f7          	lea    -0x9(%rbp),%rdx
1400967f0:	e8 3b 21 00 00       	call   0x140098930
1400967f5:	48 8b 18             	mov    (%rax),%rbx
1400967f8:	48 83 c3 40          	add    $0x40,%rbx
1400967fc:	0f b6 0b             	movzbl (%rbx),%ecx
1400967ff:	0f b6 07             	movzbl (%rdi),%eax
140096802:	88 03                	mov    %al,(%rbx)
140096804:	88 0f                	mov    %cl,(%rdi)
140096806:	48 8d 4f 08          	lea    0x8(%rdi),%rcx
14009680a:	48 8b 43 08          	mov    0x8(%rbx),%rax
14009680e:	48 8b 11             	mov    (%rcx),%rdx
140096811:	48 89 53 08          	mov    %rdx,0x8(%rbx)
140096815:	48 89 01             	mov    %rax,(%rcx)
140096818:	0f b6 17             	movzbl (%rdi),%edx
14009681b:	e8 e0 5c ff ff       	call   0x14008c500
140096820:	48 89 5e 60          	mov    %rbx,0x60(%rsi)
140096824:	0f b6 55 27          	movzbl 0x27(%rbp),%edx
140096828:	48 8d 4d 2f          	lea    0x2f(%rbp),%rcx
14009682c:	e8 cf 5c ff ff       	call   0x14008c500
140096831:	b0 01                	mov    $0x1,%al
140096833:	48 8b 4d 37          	mov    0x37(%rbp),%rcx
140096837:	48 33 cc             	xor    %rsp,%rcx
14009683a:	e8 71 96 21 00       	call   0x1402afeb0
14009683f:	4c 8d 9c 24 90 00 00 	lea    0x90(%rsp),%r11
140096846:	00
140096847:	49 8b 5b 30          	mov    0x30(%r11),%rbx
14009684b:	49 8b 73 38          	mov    0x38(%r11),%rsi
14009684f:	49 8b e3             	mov    %r11,%rsp
140096852:	41 5e                	pop    %r14
140096854:	5f                   	pop    %rdi
140096855:	5d                   	pop    %rbp
140096856:	c3                   	ret
140096857:	e8 34 77 21 00       	call   0x1402adf90
14009685c:	90                   	nop
14009685d:	cc                   	int3
14009685e:	cc                   	int3
14009685f:	cc                   	int3
140096860:	48 83 ec 48          	sub    $0x48,%rsp
140096864:	4c 8b c9             	mov    %rcx,%r9
140096867:	48 8b 09             	mov    (%rcx),%rcx
14009686a:	49 8b 51 18          	mov    0x18(%r9),%rdx
14009686e:	48 85 d2             	test   %rdx,%rdx
140096871:	79 1f                	jns    0x140096892
140096873:	48 8b c2             	mov    %rdx,%rax
140096876:	48 f7 d8             	neg    %rax
140096879:	74 17                	je     0x140096892
14009687b:	48 8b c2             	mov    %rdx,%rax
14009687e:	48 f7 d0             	not    %rax
140096881:	48 c1 e8 05          	shr    $0x5,%rax
140096885:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
14009688c:	00
14009688d:	48 2b c8             	sub    %rax,%rcx
140096890:	eb 0b                	jmp    0x14009689d
140096892:	48 8b c2             	mov    %rdx,%rax
140096895:	48 c1 e8 05          	shr    $0x5,%rax
140096899:	48 8d 0c 81          	lea    (%rcx,%rax,4),%rcx
14009689d:	41 b8 1f 00 00 00    	mov    $0x1f,%r8d
1400968a3:	41 8b c0             	mov    %r8d,%eax
1400968a6:	48 23 c2             	and    %rdx,%rax
1400968a9:	48 83 f8 01          	cmp    $0x1,%rax
1400968ad:	48 8d 50 ff          	lea    -0x1(%rax),%rdx
1400968b1:	48 8b c2             	mov    %rdx,%rax
1400968b4:	73 14                	jae    0x1400968ca
1400968b6:	48 f7 d0             	not    %rax
1400968b9:	48 c1 e8 05          	shr    $0x5,%rax
1400968bd:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
1400968c4:	00
1400968c5:	48 2b c8             	sub    %rax,%rcx
1400968c8:	eb 08                	jmp    0x1400968d2
1400968ca:	48 c1 e8 05          	shr    $0x5,%rax
1400968ce:	48 8d 0c 81          	lea    (%rcx,%rax,4),%rcx
1400968d2:	4c 23 c2             	and    %rdx,%r8
1400968d5:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1400968da:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
1400968df:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1400968e4:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
1400968e9:	49 8b c9             	mov    %r9,%rcx
1400968ec:	e8 5f 00 00 00       	call   0x140096950
1400968f1:	48 83 c4 48          	add    $0x48,%rsp
1400968f5:	c3                   	ret
1400968f6:	cc                   	int3
1400968f7:	cc                   	int3
1400968f8:	cc                   	int3
1400968f9:	cc                   	int3
1400968fa:	cc                   	int3
1400968fb:	cc                   	int3
1400968fc:	cc                   	int3
1400968fd:	cc                   	int3
1400968fe:	cc                   	int3
1400968ff:	cc                   	int3
140096900:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140096904:	48 85 c9             	test   %rcx,%rcx
140096907:	74 0a                	je     0x140096913
140096909:	ba 50 00 00 00       	mov    $0x50,%edx
14009690e:	e9 f9 95 21 00       	jmp    0x1402aff0c
140096913:	c3                   	ret
140096914:	cc                   	int3
140096915:	cc                   	int3
140096916:	cc                   	int3
140096917:	cc                   	int3