140304693:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140304698:	03 c7                	add    %edi,%eax
14030469a:	75 12                	jne    0x1403046ae
14030469c:	48 8b 4d b7          	mov    -0x49(%rbp),%rcx
1403046a0:	48 8b 01             	mov    (%rcx),%rax
1403046a3:	48 8b 40 08          	mov    0x8(%rax),%rax
1403046a7:	ff 15 8b 85 80 00    	call   *0x80858b(%rip)        # 0x140b0cc38
1403046ad:	90                   	nop
1403046ae:	48 8b 4d 8f          	mov    -0x71(%rbp),%rcx
1403046b2:	48 85 c9             	test   %rcx,%rcx
1403046b5:	0f 84 15 03 00 00    	je     0x1403049d0
1403046bb:	e9 d6 02 00 00       	jmp    0x140304996
1403046c0:	8b d1                	mov    %ecx,%edx
1403046c2:	48 8d 4d 97          	lea    -0x69(%rbp),%rcx
1403046c6:	e8 95 ce ea ff       	call   0x1401b1560
1403046cb:	45 33 c9             	xor    %r9d,%r9d
1403046ce:	85 ff                	test   %edi,%edi
1403046d0:	0f 84 69 01 00 00    	je     0x14030483f
1403046d6:	48 ba ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rdx
1403046dd:	aa aa 2a
1403046e0:	45 8b d1             	mov    %r9d,%r10d
1403046e3:	49 8b 4e 20          	mov    0x20(%r14),%rcx
1403046e7:	49 8b 46 28          	mov    0x28(%r14),%rax
1403046eb:	48 2b c1             	sub    %rcx,%rax
1403046ee:	48 c1 f8 02          	sar    $0x2,%rax
1403046f2:	4c 3b d0             	cmp    %rax,%r10
1403046f5:	0f 83 eb 01 00 00    	jae    0x1403048e6
1403046fb:	42 83 3c 89 00       	cmpl   $0x0,(%rcx,%r9,4)
140304700:	75 4e                	jne    0x140304750
140304702:	33 c9                	xor    %ecx,%ecx
140304704:	85 db                	test   %ebx,%ebx
140304706:	0f 84 23 01 00 00    	je     0x14030482f
14030470c:	8b d1                	mov    %ecx,%edx
14030470e:	4d 8b 07             	mov    (%r15),%r8
140304711:	49 8b 47 08          	mov    0x8(%r15),%rax
140304715:	49 2b c0             	sub    %r8,%rax
140304718:	48 3b d0             	cmp    %rax,%rdx
14030471b:	0f 83 c5 01 00 00    	jae    0x1403048e6
140304721:	45 8a 14 08          	mov    (%r8,%rcx,1),%r10b
140304725:	8b d1                	mov    %ecx,%edx
140304727:	0f af d7             	imul   %edi,%edx
14030472a:	41 03 d1             	add    %r9d,%edx
14030472d:	48 8b 45 9f          	mov    -0x61(%rbp),%rax
140304731:	4c 8b 45 97          	mov    -0x69(%rbp),%r8
140304735:	49 2b c0             	sub    %r8,%rax
140304738:	48 3b d0             	cmp    %rax,%rdx
14030473b:	0f 83 a5 01 00 00    	jae    0x1403048e6
140304741:	45 88 14 10          	mov    %r10b,(%r8,%rdx,1)
140304745:	ff c1                	inc    %ecx
140304747:	3b cb                	cmp    %ebx,%ecx
140304749:	72 c1                	jb     0x14030470c
14030474b:	e9 d5 00 00 00       	jmp    0x140304825
140304750:	49 8b 4d 28          	mov    0x28(%r13),%rcx
140304754:	49 2b 4d 20          	sub    0x20(%r13),%rcx
140304758:	48 8b c2             	mov    %rdx,%rax
14030475b:	48 f7 e9             	imul   %rcx
14030475e:	48 c1 fa 02          	sar    $0x2,%rdx
140304762:	48 8b c2             	mov    %rdx,%rax
140304765:	48 c1 e8 3f          	shr    $0x3f,%rax
140304769:	48 03 d0             	add    %rax,%rdx
14030476c:	0f 84 87 02 00 00    	je     0x1403049f9
140304772:	45 33 c0             	xor    %r8d,%r8d
140304775:	85 db                	test   %ebx,%ebx
140304777:	0f 84 a8 00 00 00    	je     0x140304825
14030477d:	41 8b c8             	mov    %r8d,%ecx
140304780:	49 8b 17             	mov    (%r15),%rdx
140304783:	49 8b 47 08          	mov    0x8(%r15),%rax
140304787:	48 2b c2             	sub    %rdx,%rax
14030478a:	48 3b c8             	cmp    %rax,%rcx
14030478d:	0f 83 53 01 00 00    	jae    0x1403048e6
140304793:	42 0f b6 04 02       	movzbl (%rdx,%r8,1),%eax
140304798:	41 0f b7 4d 00       	movzwl 0x0(%r13),%ecx
14030479d:	49 8b 75 20          	mov    0x20(%r13),%rsi
1403047a1:	3b c1                	cmp    %ecx,%eax
1403047a3:	44 8b d8             	mov    %eax,%r11d
1403047a6:	72 04                	jb     0x1403047ac
1403047a8:	4c 8d 59 ff          	lea    -0x1(%rcx),%r11
1403047ac:	49 8b 4d 28          	mov    0x28(%r13),%rcx
1403047b0:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
1403047b7:	aa aa 2a
1403047ba:	48 2b ce             	sub    %rsi,%rcx
1403047bd:	48 f7 e9             	imul   %rcx
1403047c0:	48 c1 fa 02          	sar    $0x2,%rdx
1403047c4:	48 8b c2             	mov    %rdx,%rax
1403047c7:	48 c1 e8 3f          	shr    $0x3f,%rax
1403047cb:	48 03 d0             	add    %rax,%rdx
1403047ce:	4c 3b da             	cmp    %rdx,%r11
1403047d1:	0f 83 0f 01 00 00    	jae    0x1403048e6
1403047d7:	4b 8d 04 5b          	lea    (%r11,%r11,2),%rax
1403047db:	48 8b 0c c6          	mov    (%rsi,%rax,8),%rcx
1403047df:	48 8b 44 c6 08       	mov    0x8(%rsi,%rax,8),%rax
1403047e4:	48 2b c1             	sub    %rcx,%rax
1403047e7:	48 c1 f8 03          	sar    $0x3,%rax
1403047eb:	4c 3b d0             	cmp    %rax,%r10
1403047ee:	0f 83 f2 00 00 00    	jae    0x1403048e6
1403047f4:	46 8a 1c c9          	mov    (%rcx,%r9,8),%r11b
1403047f8:	41 8b c8             	mov    %r8d,%ecx
1403047fb:	48 8b 55 97          	mov    -0x69(%rbp),%rdx
1403047ff:	48 8b 45 9f          	mov    -0x61(%rbp),%rax
140304803:	0f af cf             	imul   %edi,%ecx
140304806:	48 2b c2             	sub    %rdx,%rax
140304809:	41 03 c9             	add    %r9d,%ecx
14030480c:	48 3b c8             	cmp    %rax,%rcx
14030480f:	0f 83 d1 00 00 00    	jae    0x1403048e6
140304815:	44 88 1c 0a          	mov    %r11b,(%rdx,%rcx,1)
140304819:	41 ff c0             	inc    %r8d
14030481c:	44 3b c3             	cmp    %ebx,%r8d
14030481f:	0f 82 58 ff ff ff    	jb     0x14030477d
140304825:	48 ba ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rdx
14030482c:	aa aa 2a
14030482f:	41 ff c1             	inc    %r9d
140304832:	44 3b cf             	cmp    %edi,%r9d
140304835:	0f 82 a5 fe ff ff    	jb     0x1403046e0
14030483b:	48 8b 75 bf          	mov    -0x41(%rbp),%rsi
14030483f:	48 8b 4d c7          	mov    -0x39(%rbp),%rcx
140304843:	48 8b 49 18          	mov    0x18(%rcx),%rcx
140304847:	48 8b 01             	mov    (%rcx),%rax
14030484a:	4c 8d 45 97          	lea    -0x69(%rbp),%r8
14030484e:	48 8d 55 c7          	lea    -0x39(%rbp),%rdx
140304852:	48 8b 80 c8 00 00 00 	mov    0xc8(%rax),%rax
140304859:	ff 15 d9 83 80 00    	call   *0x8083d9(%rip)        # 0x140b0cc38
14030485f:	48 8b d0             	mov    %rax,%rdx
140304862:	49 8b cc             	mov    %r12,%rcx
140304865:	e8 7a 1a d0 ff       	call   0x1400062e4
14030486a:	83 cf ff             	or     $0xffffffff,%edi
14030486d:	48 8b 5d cf          	mov    -0x31(%rbp),%rbx
140304871:	45 33 ff             	xor    %r15d,%r15d
140304874:	48 85 db             	test   %rbx,%rbx
140304877:	74 35                	je     0x1403048ae
140304879:	8b c7                	mov    %edi,%eax
14030487b:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140304880:	03 c7                	add    %edi,%eax
140304882:	75 2a                	jne    0x1403048ae
140304884:	48 8b 03             	mov    (%rbx),%rax
140304887:	48 8b cb             	mov    %rbx,%rcx
14030488a:	48 8b 00             	mov    (%rax),%rax
14030488d:	ff 15 a5 83 80 00    	call   *0x8083a5(%rip)        # 0x140b0cc38
140304893:	8b c7                	mov    %edi,%eax
140304895:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
14030489a:	03 c7                	add    %edi,%eax
14030489c:	75 10                	jne    0x1403048ae
14030489e:	48 8b 03             	mov    (%rbx),%rax
1403048a1:	48 8b cb             	mov    %rbx,%rcx
1403048a4:	48 8b 40 08          	mov    0x8(%rax),%rax
1403048a8:	ff 15 8a 83 80 00    	call   *0x80838a(%rip)        # 0x140b0cc38
1403048ae:	41 8b 06             	mov    (%r14),%eax
1403048b1:	89 06                	mov    %eax,(%rsi)
1403048b3:	48 8b 4d 97          	mov    -0x69(%rbp),%rcx
1403048b7:	48 85 c9             	test   %rcx,%rcx
1403048ba:	74 43                	je     0x1403048ff
1403048bc:	48 8b 45 a7          	mov    -0x59(%rbp),%rax
1403048c0:	48 2b c1             	sub    %rcx,%rax
1403048c3:	48 8b d1             	mov    %rcx,%rdx
1403048c6:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
1403048cc:	72 1f                	jb     0x1403048ed
1403048ce:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1403048d2:	48 2b d1             	sub    %rcx,%rdx
1403048d5:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
1403048d9:	48 83 f8 1f          	cmp    $0x1f,%rax
1403048dd:	76 0e                	jbe    0x1403048ed
1403048df:	ff 15 b3 80 80 00    	call   *0x8080b3(%rip)        # 0x140b0c998
1403048e5:	90                   	nop
1403048e6:	ff 15 ac 80 80 00    	call   *0x8080ac(%rip)        # 0x140b0c998
1403048ec:	90                   	nop
1403048ed:	ff 15 cd 7f 80 00    	call   *0x807fcd(%rip)        # 0x140b0c8c0
1403048f3:	4c 89 7d 97          	mov    %r15,-0x69(%rbp)
1403048f7:	4c 89 7d 9f          	mov    %r15,-0x61(%rbp)
1403048fb:	4c 89 7d a7          	mov    %r15,-0x59(%rbp)
1403048ff:	48 8b 4d b7          	mov    -0x49(%rbp),%rcx
140304903:	48 85 c9             	test   %rcx,%rcx
140304906:	74 3b                	je     0x140304943
140304908:	8b c7                	mov    %edi,%eax
14030490a:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
14030490f:	03 c7                	add    %edi,%eax
140304911:	75 30                	jne    0x140304943
140304913:	48 8b 5d b7          	mov    -0x49(%rbp),%rbx
140304917:	48 8b 03             	mov    (%rbx),%rax
14030491a:	48 8b cb             	mov    %rbx,%rcx
14030491d:	48 8b 00             	mov    (%rax),%rax
140304920:	ff 15 12 83 80 00    	call   *0x808312(%rip)        # 0x140b0cc38
140304926:	8b c7                	mov    %edi,%eax
140304928:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
14030492d:	03 c7                	add    %edi,%eax
14030492f:	75 12                	jne    0x140304943
140304931:	48 8b 4d b7          	mov    -0x49(%rbp),%rcx
140304935:	48 8b 01             	mov    (%rcx),%rax
140304938:	48 8b 40 08          	mov    0x8(%rax),%rax
14030493c:	ff 15 f6 82 80 00    	call   *0x8082f6(%rip)        # 0x140b0cc38
140304942:	90                   	nop
140304943:	48 8b 4d 8f          	mov    -0x71(%rbp),%rcx
140304947:	48 85 c9             	test   %rcx,%rcx
14030494a:	74 3a                	je     0x140304986
14030494c:	8b c7                	mov    %edi,%eax
14030494e:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
140304953:	03 c7                	add    %edi,%eax
140304955:	75 2f                	jne    0x140304986
140304957:	48 8b 5d 8f          	mov    -0x71(%rbp),%rbx
14030495b:	48 8b 03             	mov    (%rbx),%rax
14030495e:	48 8b cb             	mov    %rbx,%rcx
140304961:	48 8b 00             	mov    (%rax),%rax
140304964:	ff 15 ce 82 80 00    	call   *0x8082ce(%rip)        # 0x140b0cc38
14030496a:	8b cf                	mov    %edi,%ecx
14030496c:	f0 0f c1 4b 0c       	lock xadd %ecx,0xc(%rbx)
140304971:	03 cf                	add    %edi,%ecx
140304973:	75 11                	jne    0x140304986
140304975:	48 8b 4d 8f          	mov    -0x71(%rbp),%rcx
140304979:	48 8b 11             	mov    (%rcx),%rdx
14030497c:	48 8b 42 08          	mov    0x8(%rdx),%rax
140304980:	ff 15 b2 82 80 00    	call   *0x8082b2(%rip)        # 0x140b0cc38
140304986:	b0 01                	mov    $0x1,%al
140304988:	eb 48                	jmp    0x1403049d2
14030498a:	48 8b 4d 8f          	mov    -0x71(%rbp),%rcx
14030498e:	48 85 c9             	test   %rcx,%rcx
140304991:	74 3d                	je     0x1403049d0
140304993:	83 cf ff             	or     $0xffffffff,%edi
140304996:	8b c7                	mov    %edi,%eax
140304998:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
14030499d:	03 c7                	add    %edi,%eax
14030499f:	75 2f                	jne    0x1403049d0
1403049a1:	48 8b 5d 8f          	mov    -0x71(%rbp),%rbx
1403049a5:	48 8b 03             	mov    (%rbx),%rax
1403049a8:	48 8b cb             	mov    %rbx,%rcx
1403049ab:	48 8b 00             	mov    (%rax),%rax
1403049ae:	ff 15 84 82 80 00    	call   *0x808284(%rip)        # 0x140b0cc38
1403049b4:	8b c7                	mov    %edi,%eax
1403049b6:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
1403049bb:	03 c7                	add    %edi,%eax
1403049bd:	75 11                	jne    0x1403049d0
1403049bf:	48 8b 4d 8f          	mov    -0x71(%rbp),%rcx
1403049c3:	48 8b 01             	mov    (%rcx),%rax
1403049c6:	48 8b 40 08          	mov    0x8(%rax),%rax
1403049ca:	ff 15 68 82 80 00    	call   *0x808268(%rip)        # 0x140b0cc38
1403049d0:	32 c0                	xor    %al,%al
1403049d2:	48 8b 4d 17          	mov    0x17(%rbp),%rcx
1403049d6:	48 33 cc             	xor    %rsp,%rcx
1403049d9:	e8 02 ac 7e 00       	call   0x140aef5e0
1403049de:	48 8b 9c 24 10 01 00 	mov    0x110(%rsp),%rbx
1403049e5:	00
1403049e6:	48 81 c4 c0 00 00 00 	add    $0xc0,%rsp
1403049ed:	41 5f                	pop    %r15
1403049ef:	41 5e                	pop    %r14
1403049f1:	41 5d                	pop    %r13
1403049f3:	41 5c                	pop    %r12
1403049f5:	5f                   	pop    %rdi
1403049f6:	5e                   	pop    %rsi
1403049f7:	5d                   	pop    %rbp
1403049f8:	c3                   	ret
1403049f9:	ba 04 84 04 80       	mov    $0x80048404,%edx
1403049fe:	48 8d 4d d7          	lea    -0x29(%rbp),%rcx
140304a02:	e8 91 16 ff ff       	call   0x1402f6098
140304a07:	48 8d 15 fa 1a 93 00 	lea    0x931afa(%rip),%rdx        # 0x140c36508
140304a0e:	48 8d 4d d7          	lea    -0x29(%rbp),%rcx
140304a12:	e8 67 ba 7e 00       	call   0x140af047e
140304a17:	90                   	nop
140304a18:	ba 00 84 04 80       	mov    $0x80048400,%edx
140304a1d:	48 8d 4d d7          	lea    -0x29(%rbp),%rcx
140304a21:	e8 72 16 ff ff       	call   0x1402f6098
140304a26:	48 8d 15 db 1a 93 00 	lea    0x931adb(%rip),%rdx        # 0x140c36508
140304a2d:	48 8d 4d d7          	lea    -0x29(%rbp),%rcx
140304a31:	e8 48 ba 7e 00       	call   0x140af047e
140304a36:	cc                   	int3
140304a37:	ba 12 84 04 80       	mov    $0x80048412,%edx
140304a3c:	48 8d 4d d7          	lea    -0x29(%rbp),%rcx
140304a40:	e8 53 16 ff ff       	call   0x1402f6098
140304a45:	48 8d 15 bc 1a 93 00 	lea    0x931abc(%rip),%rdx        # 0x140c36508
140304a4c:	48 8d 4d d7          	lea    -0x29(%rbp),%rcx
140304a50:	e8 29 ba 7e 00       	call   0x140af047e
140304a55:	cc                   	int3
140304a56:	90                   	nop
140304a57:	90                   	nop
140304a58:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140304a5d:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140304a62:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140304a67:	55                   	push   %rbp
140304a68:	41 54                	push   %r12
140304a6a:	41 55                	push   %r13
140304a6c:	41 56                	push   %r14
140304a6e:	41 57                	push   %r15
140304a70:	48 8b ec             	mov    %rsp,%rbp
140304a73:	48 83 ec 60          	sub    $0x60,%rsp
140304a77:	45 8b f1             	mov    %r9d,%r14d
140304a7a:	41 8b f8             	mov    %r8d,%edi
140304a7d:	4c 8b e2             	mov    %rdx,%r12
140304a80:	4c 8b e9             	mov    %rcx,%r13
140304a83:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
140304a87:	e8 dc 56 00 00       	call   0x14030a168
140304a8c:	48 8b 4d c0          	mov    -0x40(%rbp),%rcx
140304a90:	48 8b 01             	mov    (%rcx),%rax
140304a93:	48 8b 40 10          	mov    0x10(%rax),%rax
140304a97:	ff 15 9b 81 80 00    	call   *0x80819b(%rip)        # 0x140b0cc38
140304a9d:	48 8b 30             	mov    (%rax),%rsi
140304aa0:	48 39 70 08          	cmp    %rsi,0x8(%rax)
140304aa4:	0f 84 46 02 00 00    	je     0x140304cf0
140304aaa:	8b 58 08             	mov    0x8(%rax),%ebx
140304aad:	2b de                	sub    %esi,%ebx
140304aaf:	85 ff                	test   %edi,%edi
140304ab1:	0f 84 49 02 00 00    	je     0x140304d00
140304ab7:	85 db                	test   %ebx,%ebx
140304ab9:	75 04                	jne    0x140304abf
140304abb:	33 c0                	xor    %eax,%eax
140304abd:	eb 06                	jmp    0x140304ac5
140304abf:	33 d2                	xor    %edx,%edx
140304ac1:	8b c3                	mov    %ebx,%eax
140304ac3:	f7 f7                	div    %edi
140304ac5:	8b c8                	mov    %eax,%ecx
140304ac7:	49 0f af ce          	imul   %r14,%rcx
140304acb:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140304ad0:	48 3b c8             	cmp    %rax,%rcx
140304ad3:	0f 87 2d 02 00 00    	ja     0x140304d06
140304ad9:	44 8b f9             	mov    %ecx,%r15d
140304adc:	44 2b f7             	sub    %edi,%r14d
140304adf:	0f 57 c0             	xorps  %xmm0,%xmm0
140304ae2:	f3 0f 7f 45 e0       	movdqu %xmm0,-0x20(%rbp)
140304ae7:	48 83 65 f0 00       	andq   $0x0,-0x10(%rbp)
140304aec:	8b d1                	mov    %ecx,%edx
140304aee:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140304af2:	e8 69 ca ea ff       	call   0x1401b1560
140304af7:	4c 8b 4d e0          	mov    -0x20(%rbp),%r9
140304afb:	4c 39 4d e8          	cmp    %r9,-0x18(%rbp)
140304aff:	75 07                	jne    0x140304b08
140304b01:	ff 15 91 7e 80 00    	call   *0x807e91(%rip)        # 0x140b0c998
140304b07:	cc                   	int3
140304b08:	33 d2                	xor    %edx,%edx
140304b0a:	45 33 c0             	xor    %r8d,%r8d
140304b0d:	45 85 f6             	test   %r14d,%r14d
140304b10:	7e 69                	jle    0x140304b7b
140304b12:	85 db                	test   %ebx,%ebx
140304b14:	0f 84 cd 00 00 00    	je     0x140304be7
140304b1a:	41 ba ff ff ff ff    	mov    $0xffffffff,%r10d
140304b20:	45 3b f8             	cmp    %r8d,%r15d
140304b23:	0f 86 be 00 00 00    	jbe    0x140304be7
140304b29:	33 c9                	xor    %ecx,%ecx
140304b2b:	85 ff                	test   %edi,%edi
140304b2d:	74 31                	je     0x140304b60
140304b2f:	3b da                	cmp    %edx,%ebx
140304b31:	76 27                	jbe    0x140304b5a
140304b33:	45 3b f8             	cmp    %r8d,%r15d
140304b36:	76 22                	jbe    0x140304b5a
140304b38:	8a 06                	mov    (%rsi),%al
140304b3a:	48 ff c6             	inc    %rsi
140304b3d:	41 88 01             	mov    %al,(%r9)
140304b40:	49 ff c1             	inc    %r9
140304b43:	41 3b d2             	cmp    %r10d,%edx
140304b46:	0f 84 ab 01 00 00    	je     0x140304cf7
140304b4c:	ff c2                	inc    %edx
140304b4e:	45 3b c2             	cmp    %r10d,%r8d
140304b51:	0f 84 a0 01 00 00    	je     0x140304cf7
140304b57:	41 ff c0             	inc    %r8d
140304b5a:	ff c1                	inc    %ecx
140304b5c:	3b cf                	cmp    %edi,%ecx