1403015e1:	44 89 07             	mov    %r8d,(%rdi)
1403015e4:	ff c1                	inc    %ecx
1403015e6:	48 83 c7 03          	add    $0x3,%rdi
1403015ea:	49 ff c4             	inc    %r12
1403015ed:	89 8c 24 a8 00 00 00 	mov    %ecx,0xa8(%rsp)
1403015f4:	3b c8                	cmp    %eax,%ecx
1403015f6:	0f 82 0b ff ff ff    	jb     0x140301507
1403015fc:	4d 8b 16             	mov    (%r14),%r10
1403015ff:	44 8b 6c 24 24       	mov    0x24(%rsp),%r13d
140301604:	8b 54 24 28          	mov    0x28(%rsp),%edx
140301608:	44 8b 44 24 20       	mov    0x20(%rsp),%r8d
14030160d:	48 8b 9c 24 a0 00 00 	mov    0xa0(%rsp),%rbx
140301614:	00
140301615:	44 8b 4c 24 30       	mov    0x30(%rsp),%r9d
14030161a:	44 8b 5c 24 38       	mov    0x38(%rsp),%r11d
14030161f:	ff c2                	inc    %edx
140301621:	89 54 24 28          	mov    %edx,0x28(%rsp)
140301625:	41 3b d5             	cmp    %r13d,%edx
140301628:	0f 82 9b fe ff ff    	jb     0x1403014c9
14030162e:	4c 8b b4 24 b8 00 00 	mov    0xb8(%rsp),%r14
140301635:	00
140301636:	4d 85 e4             	test   %r12,%r12
140301639:	0f 84 0f fe ff ff    	je     0x14030144e
14030163f:	48 85 ff             	test   %rdi,%rdi
140301642:	0f 84 06 fe ff ff    	je     0x14030144e
140301648:	45 0f b6 1c 24       	movzbl (%r12),%r11d
14030164d:	45 84 db             	test   %r11b,%r11b
140301650:	75 27                	jne    0x140301679
140301652:	49 8b 0e             	mov    (%r14),%rcx
140301655:	49 8b 46 08          	mov    0x8(%r14),%rax
140301659:	48 2b c1             	sub    %rcx,%rax
14030165c:	48 3b f0             	cmp    %rax,%rsi
14030165f:	0f 83 21 01 00 00    	jae    0x140301786
140301665:	8a 04 0e             	mov    (%rsi,%rcx,1),%al
140301668:	88 04 3e             	mov    %al,(%rsi,%rdi,1)
14030166b:	48 ff c6             	inc    %rsi
14030166e:	48 83 fe 03          	cmp    $0x3,%rsi
140301672:	7c de                	jl     0x140301652
140301674:	e9 d5 fd ff ff       	jmp    0x14030144e
140301679:	44 3a dd             	cmp    %bpl,%r11b
14030167c:	0f 84 cc fd ff ff    	je     0x14030144e
140301682:	4c 8b 94 24 b0 00 00 	mov    0xb0(%rsp),%r10
140301689:	00
14030168a:	4c 8b ce             	mov    %rsi,%r9
14030168d:	49 8b 12             	mov    (%r10),%rdx
140301690:	49 8b 42 08          	mov    0x8(%r10),%rax
140301694:	41 0f b6 0c 39       	movzbl (%r9,%rdi,1),%ecx
140301699:	48 2b c2             	sub    %rdx,%rax
14030169c:	4c 3b c8             	cmp    %rax,%r9
14030169f:	0f 83 e1 00 00 00    	jae    0x140301786
1403016a5:	45 0f b6 04 11       	movzbl (%r9,%rdx,1),%r8d
1403016aa:	41 2b c8             	sub    %r8d,%ecx
1403016ad:	69 c1 ff 00 00 00    	imul   $0xff,%ecx,%eax
1403016b3:	99                   	cltd
1403016b4:	41 f7 fb             	idiv   %r11d
1403016b7:	41 03 c0             	add    %r8d,%eax
1403016ba:	3b c5                	cmp    %ebp,%eax
1403016bc:	0f b6 c8             	movzbl %al,%ecx
1403016bf:	0f 4f cd             	cmovg  %ebp,%ecx
1403016c2:	85 c0                	test   %eax,%eax
1403016c4:	0f b6 d1             	movzbl %cl,%edx
1403016c7:	0f 48 d6             	cmovs  %esi,%edx
1403016ca:	41 88 14 39          	mov    %dl,(%r9,%rdi,1)
1403016ce:	49 ff c1             	inc    %r9
1403016d1:	49 83 f9 03          	cmp    $0x3,%r9
1403016d5:	7c b6                	jl     0x14030168d
1403016d7:	e9 72 fd ff ff       	jmp    0x14030144e
1403016dc:	49 8b 09             	mov    (%r9),%rcx
1403016df:	44 0f b6 3a          	movzbl (%rdx),%r15d
1403016e3:	49 39 49 08          	cmp    %rcx,0x8(%r9)
1403016e7:	0f 84 99 00 00 00    	je     0x140301786
1403016ed:	44 8a 31             	mov    (%rcx),%r14b
1403016f0:	33 f6                	xor    %esi,%esi
1403016f2:	44 8b de             	mov    %esi,%r11d
1403016f5:	45 85 ed             	test   %r13d,%r13d
1403016f8:	0f 84 50 fd ff ff    	je     0x14030144e
1403016fe:	bd ff 00 00 00       	mov    $0xff,%ebp
140301703:	48 8b 0b             	mov    (%rbx),%rcx
140301706:	45 8b cb             	mov    %r11d,%r9d
140301709:	45 0f af 4a 10       	imul   0x10(%r10),%r9d
14030170e:	41 8b db             	mov    %r11d,%ebx
140301711:	0f af 59 10          	imul   0x10(%rcx),%ebx
140301715:	4d 03 4a 18          	add    0x18(%r10),%r9
140301719:	48 03 59 18          	add    0x18(%rcx),%rbx
14030171d:	45 85 c0             	test   %r8d,%r8d
140301720:	74 4f                	je     0x140301771
140301722:	45 8b d0             	mov    %r8d,%r10d
140301725:	40 38 33             	cmp    %sil,(%rbx)
140301728:	75 05                	jne    0x14030172f
14030172a:	45 88 31             	mov    %r14b,(%r9)
14030172d:	eb 2e                	jmp    0x14030175d
14030172f:	40 38 2b             	cmp    %bpl,(%rbx)
140301732:	74 29                	je     0x14030175d
140301734:	0f b6 0b             	movzbl (%rbx),%ecx
140301737:	41 0f b6 01          	movzbl (%r9),%eax
14030173b:	41 2b c7             	sub    %r15d,%eax
14030173e:	69 c0 ff 00 00 00    	imul   $0xff,%eax,%eax
140301744:	99                   	cltd
140301745:	f7 f9                	idiv   %ecx
140301747:	41 03 c7             	add    %r15d,%eax
14030174a:	3b c5                	cmp    %ebp,%eax
14030174c:	0f b6 c8             	movzbl %al,%ecx
14030174f:	0f 4f cd             	cmovg  %ebp,%ecx
140301752:	85 c0                	test   %eax,%eax
140301754:	0f b6 d1             	movzbl %cl,%edx
140301757:	0f 48 d6             	cmovs  %esi,%edx
14030175a:	41 88 11             	mov    %dl,(%r9)
14030175d:	49 ff c1             	inc    %r9
140301760:	48 ff c3             	inc    %rbx
140301763:	49 83 ea 01          	sub    $0x1,%r10
140301767:	75 bc                	jne    0x140301725
140301769:	4c 8b 17             	mov    (%rdi),%r10
14030176c:	44 8b 44 24 20       	mov    0x20(%rsp),%r8d
140301771:	48 8b 9c 24 a0 00 00 	mov    0xa0(%rsp),%rbx
140301778:	00
140301779:	41 ff c3             	inc    %r11d
14030177c:	45 3b dd             	cmp    %r13d,%r11d
14030177f:	72 82                	jb     0x140301703
140301781:	e9 c8 fc ff ff       	jmp    0x14030144e
140301786:	ff 15 0c b2 80 00    	call   *0x80b20c(%rip)        # 0x140b0c998
14030178c:	cc                   	int3
14030178d:	90                   	nop
14030178e:	90                   	nop
14030178f:	90                   	nop
140301790:	40 55                	rex push %rbp
140301792:	53                   	push   %rbx
140301793:	56                   	push   %rsi
140301794:	57                   	push   %rdi
140301795:	41 54                	push   %r12
140301797:	41 55                	push   %r13
140301799:	41 56                	push   %r14
14030179b:	41 57                	push   %r15
14030179d:	48 8d 6c 24 f8       	lea    -0x8(%rsp),%rbp
1403017a2:	48 81 ec 08 01 00 00 	sub    $0x108,%rsp
1403017a9:	48 8b 05 90 d8 9b 00 	mov    0x9bd890(%rip),%rax        # 0x140cbf040
1403017b0:	48 33 c4             	xor    %rsp,%rax
1403017b3:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
1403017b7:	4d 8b f9             	mov    %r9,%r15
1403017ba:	4d 8b f0             	mov    %r8,%r14
1403017bd:	48 8b f1             	mov    %rcx,%rsi
1403017c0:	48 89 4d 80          	mov    %rcx,-0x80(%rbp)
1403017c4:	4c 89 45 88          	mov    %r8,-0x78(%rbp)
1403017c8:	45 33 ed             	xor    %r13d,%r13d
1403017cb:	44 89 6c 24 30       	mov    %r13d,0x30(%rsp)
1403017d0:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
1403017d5:	e8 5a e3 ff ff       	call   0x1402ffb34
1403017da:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1403017df:	48 85 ff             	test   %rdi,%rdi
1403017e2:	0f 84 0a 04 00 00    	je     0x140301bf2
1403017e8:	48 8b 07             	mov    (%rdi),%rax
1403017eb:	48 8d 55 90          	lea    -0x70(%rbp),%rdx
1403017ef:	48 8b cf             	mov    %rdi,%rcx
1403017f2:	48 8b 40 18          	mov    0x18(%rax),%rax
1403017f6:	ff 15 3c b4 80 00    	call   *0x80b43c(%rip)        # 0x140b0cc38
1403017fc:	4c 89 2e             	mov    %r13,(%rsi)
1403017ff:	4c 89 6e 08          	mov    %r13,0x8(%rsi)
140301803:	c7 44 24 30 01 00 00 	movl   $0x1,0x30(%rsp)
14030180a:	00
14030180b:	48 8b 5d a0          	mov    -0x60(%rbp),%rbx
14030180f:	48 8d 4d 90          	lea    -0x70(%rbp),%rcx
140301813:	48 83 7d a8 0f       	cmpq   $0xf,-0x58(%rbp)
140301818:	48 0f 47 4d 90       	cmova  -0x70(%rbp),%rcx
14030181d:	4c 8b c3             	mov    %rbx,%r8
140301820:	45 8d 65 09          	lea    0x9(%r13),%r12d
140301824:	49 3b dc             	cmp    %r12,%rbx
140301827:	4d 0f 47 c4          	cmova  %r12,%r8
14030182b:	48 8d 15 2e 6b 84 00 	lea    0x846b2e(%rip),%rdx        # 0x140b48360
140301832:	e8 b3 0a 7f 00       	call   0x140af22ea
140301837:	85 c0                	test   %eax,%eax
140301839:	0f 85 ba 01 00 00    	jne    0x1403019f9
14030183f:	49 3b dc             	cmp    %r12,%rbx
140301842:	0f 85 b1 01 00 00    	jne    0x1403019f9
140301848:	41 8b c5             	mov    %r13d,%eax
14030184b:	85 c0                	test   %eax,%eax
14030184d:	0f 85 a6 01 00 00    	jne    0x1403019f9
140301853:	0f 57 c0             	xorps  %xmm0,%xmm0
140301856:	f3 0f 7f 44 24 58    	movdqu %xmm0,0x58(%rsp)
14030185c:	4c 89 6c 24 68       	mov    %r13,0x68(%rsp)
140301861:	48 8b 07             	mov    (%rdi),%rax
140301864:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
140301869:	48 8b cf             	mov    %rdi,%rcx
14030186c:	48 8b 40 38          	mov    0x38(%rax),%rax
140301870:	ff 15 c2 b3 80 00    	call   *0x80b3c2(%rip)        # 0x140b0cc38
140301876:	49 8b 1e             	mov    (%r14),%rbx
140301879:	48 8b 03             	mov    (%rbx),%rax
14030187c:	4c 8b 60 48          	mov    0x48(%rax),%r12
140301880:	48 8b 07             	mov    (%rdi),%rax
140301883:	48 8b cf             	mov    %rdi,%rcx
140301886:	48 8b 40 10          	mov    0x10(%rax),%rax
14030188a:	ff 15 a8 b3 80 00    	call   *0x80b3a8(%rip)        # 0x140b0cc38
140301890:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140301895:	44 8b c9             	mov    %ecx,%r9d
140301898:	4c 8b 44 24 58       	mov    0x58(%rsp),%r8
14030189d:	45 2b c8             	sub    %r8d,%r9d
1403018a0:	49 3b c8             	cmp    %r8,%rcx
1403018a3:	75 07                	jne    0x1403018ac
1403018a5:	ff 15 ed b0 80 00    	call   *0x80b0ed(%rip)        # 0x140b0c998
1403018ab:	cc                   	int3
1403018ac:	89 44 24 20          	mov    %eax,0x20(%rsp)
1403018b0:	48 8d 54 24 70       	lea    0x70(%rsp),%rdx
1403018b5:	48 8b cb             	mov    %rbx,%rcx
1403018b8:	49 8b c4             	mov    %r12,%rax
1403018bb:	ff 15 77 b3 80 00    	call   *0x80b377(%rip)        # 0x140b0cc38
1403018c1:	90                   	nop
1403018c2:	49 8b 0f             	mov    (%r15),%rcx
1403018c5:	48 8b 01             	mov    (%rcx),%rax
1403018c8:	4c 8d 44 24 70       	lea    0x70(%rsp),%r8
1403018cd:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
1403018d2:	48 8b 80 88 01 00 00 	mov    0x188(%rax),%rax
1403018d9:	ff 15 59 b3 80 00    	call   *0x80b359(%rip)        # 0x140b0cc38
1403018df:	48 8b 08             	mov    (%rax),%rcx
1403018e2:	48 8b 50 08          	mov    0x8(%rax),%rdx
1403018e6:	4c 89 28             	mov    %r13,(%rax)
1403018e9:	4c 89 68 08          	mov    %r13,0x8(%rax)
1403018ed:	48 89 0e             	mov    %rcx,(%rsi)
1403018f0:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
1403018f4:	48 89 56 08          	mov    %rdx,0x8(%rsi)
1403018f8:	83 cf ff             	or     $0xffffffff,%edi
1403018fb:	48 85 db             	test   %rbx,%rbx
1403018fe:	74 35                	je     0x140301935
140301900:	8b c7                	mov    %edi,%eax
140301902:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140301907:	03 c7                	add    %edi,%eax
140301909:	75 2a                	jne    0x140301935
14030190b:	48 8b 03             	mov    (%rbx),%rax
14030190e:	48 8b cb             	mov    %rbx,%rcx
140301911:	48 8b 00             	mov    (%rax),%rax
140301914:	ff 15 1e b3 80 00    	call   *0x80b31e(%rip)        # 0x140b0cc38
14030191a:	8b c7                	mov    %edi,%eax
14030191c:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140301921:	03 c7                	add    %edi,%eax
140301923:	75 10                	jne    0x140301935
140301925:	48 8b 03             	mov    (%rbx),%rax
140301928:	48 8b cb             	mov    %rbx,%rcx
14030192b:	48 8b 40 08          	mov    0x8(%rax),%rax
14030192f:	ff 15 03 b3 80 00    	call   *0x80b303(%rip)        # 0x140b0cc38
140301935:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14030193a:	48 85 db             	test   %rbx,%rbx
14030193d:	74 36                	je     0x140301975
14030193f:	8b c7                	mov    %edi,%eax
140301941:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140301946:	03 c7                	add    %edi,%eax
140301948:	75 2b                	jne    0x140301975
14030194a:	48 8b 03             	mov    (%rbx),%rax
14030194d:	48 8b cb             	mov    %rbx,%rcx
140301950:	48 8b 00             	mov    (%rax),%rax
140301953:	ff 15 df b2 80 00    	call   *0x80b2df(%rip)        # 0x140b0cc38
140301959:	8b c7                	mov    %edi,%eax
14030195b:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140301960:	03 c7                	add    %edi,%eax
140301962:	75 11                	jne    0x140301975
140301964:	48 8b 03             	mov    (%rbx),%rax
140301967:	48 8b cb             	mov    %rbx,%rcx
14030196a:	48 8b 40 08          	mov    0x8(%rax),%rax
14030196e:	ff 15 c4 b2 80 00    	call   *0x80b2c4(%rip)        # 0x140b0cc38
140301974:	90                   	nop
140301975:	48 8b 5c 24 78       	mov    0x78(%rsp),%rbx
14030197a:	48 85 db             	test   %rbx,%rbx
14030197d:	74 36                	je     0x1403019b5
14030197f:	8b c7                	mov    %edi,%eax
140301981:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140301986:	03 c7                	add    %edi,%eax
140301988:	75 2b                	jne    0x1403019b5
14030198a:	48 8b 03             	mov    (%rbx),%rax
14030198d:	48 8b cb             	mov    %rbx,%rcx
140301990:	48 8b 00             	mov    (%rax),%rax
140301993:	ff 15 9f b2 80 00    	call   *0x80b29f(%rip)        # 0x140b0cc38
140301999:	8b c7                	mov    %edi,%eax
14030199b:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
1403019a0:	03 c7                	add    %edi,%eax
1403019a2:	75 11                	jne    0x1403019b5
1403019a4:	48 8b 03             	mov    (%rbx),%rax
1403019a7:	48 8b cb             	mov    %rbx,%rcx
1403019aa:	48 8b 40 08          	mov    0x8(%rax),%rax
1403019ae:	ff 15 84 b2 80 00    	call   *0x80b284(%rip)        # 0x140b0cc38
1403019b4:	90                   	nop
1403019b5:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
1403019ba:	48 85 c9             	test   %rcx,%rcx
1403019bd:	0f 84 3d 01 00 00    	je     0x140301b00
1403019c3:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
1403019c8:	48 2b c1             	sub    %rcx,%rax
1403019cb:	48 8b d1             	mov    %rcx,%rdx
1403019ce:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
1403019d4:	72 18                	jb     0x1403019ee
1403019d6:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1403019da:	48 2b d1             	sub    %rcx,%rdx
1403019dd:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
1403019e1:	48 83 f8 1f          	cmp    $0x1f,%rax
1403019e5:	76 07                	jbe    0x1403019ee
1403019e7:	ff 15 ab af 80 00    	call   *0x80afab(%rip)        # 0x140b0c998
1403019ed:	cc                   	int3
1403019ee:	ff 15 cc ae 80 00    	call   *0x80aecc(%rip)        # 0x140b0c8c0
1403019f4:	e9 07 01 00 00       	jmp    0x140301b00
1403019f9:	48 8d 4d 90          	lea    -0x70(%rbp),%rcx
1403019fd:	48 83 7d a8 0f       	cmpq   $0xf,-0x58(%rbp)
140301a02:	48 0f 47 4d 90       	cmova  -0x70(%rbp),%rcx
140301a07:	4c 8b c3             	mov    %rbx,%r8
140301a0a:	bf 07 00 00 00       	mov    $0x7,%edi
140301a0f:	48 3b df             	cmp    %rdi,%rbx
140301a12:	4c 0f 47 c7          	cmova  %rdi,%r8
140301a16:	48 8d 15 03 8b 84 00 	lea    0x848b03(%rip),%rdx        # 0x140b4a520
140301a1d:	e8 c8 08 7f 00       	call   0x140af22ea
140301a22:	85 c0                	test   %eax,%eax
140301a24:	75 26                	jne    0x140301a4c
140301a26:	48 3b df             	cmp    %rdi,%rbx
140301a29:	75 21                	jne    0x140301a4c
140301a2b:	41 8b c5             	mov    %r13d,%eax
140301a2e:	85 c0                	test   %eax,%eax
140301a30:	75 1a                	jne    0x140301a4c
140301a32:	49 8b 0e             	mov    (%r14),%rcx
140301a35:	48 8b 01             	mov    (%rcx),%rax
140301a38:	4d 8b c7             	mov    %r15,%r8
140301a3b:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140301a40:	48 8b 40 50          	mov    0x50(%rax),%rax
140301a44:	ff 15 ee b1 80 00    	call   *0x80b1ee(%rip)        # 0x140b0cc38
140301a4a:	eb 1c                	jmp    0x140301a68
140301a4c:	49 8b 0e             	mov    (%r14),%rcx
140301a4f:	48 8b 01             	mov    (%rcx),%rax
140301a52:	4d 8b cf             	mov    %r15,%r9
140301a55:	4c 8d 45 90          	lea    -0x70(%rbp),%r8
140301a59:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140301a5e:	48 8b 40 30          	mov    0x30(%rax),%rax
140301a62:	ff 15 d0 b1 80 00    	call   *0x80b1d0(%rip)        # 0x140b0cc38
140301a68:	48 8b 08             	mov    (%rax),%rcx
140301a6b:	48 8b 50 08          	mov    0x8(%rax),%rdx
140301a6f:	4c 89 28             	mov    %r13,(%rax)
140301a72:	4c 89 68 08          	mov    %r13,0x8(%rax)
140301a76:	48 89 0e             	mov    %rcx,(%rsi)
140301a79:	83 cf ff             	or     $0xffffffff,%edi
140301a7c:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
140301a80:	48 85 db             	test   %rbx,%rbx
140301a83:	48 89 56 08          	mov    %rdx,0x8(%rsi)
140301a87:	74 35                	je     0x140301abe
140301a89:	8b c7                	mov    %edi,%eax
140301a8b:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140301a90:	03 c7                	add    %edi,%eax
140301a92:	75 2a                	jne    0x140301abe
140301a94:	48 8b 03             	mov    (%rbx),%rax
140301a97:	48 8b cb             	mov    %rbx,%rcx
140301a9a:	48 8b 00             	mov    (%rax),%rax
140301a9d:	ff 15 95 b1 80 00    	call   *0x80b195(%rip)        # 0x140b0cc38
140301aa3:	8b c7                	mov    %edi,%eax
140301aa5:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140301aaa:	03 c7                	add    %edi,%eax
140301aac:	75 10                	jne    0x140301abe
140301aae:	48 8b 03             	mov    (%rbx),%rax
140301ab1:	48 8b cb             	mov    %rbx,%rcx
140301ab4:	48 8b 40 08          	mov    0x8(%rax),%rax
140301ab8:	ff 15 7a b1 80 00    	call   *0x80b17a(%rip)        # 0x140b0cc38
140301abe:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx