140552899:	4c 8b f0             	mov    %rax,%r14
14055289c:	48 8b ce             	mov    %rsi,%rcx
14055289f:	eb 06                	jmp    0x1405528a7
1405528a1:	4c 8b f6             	mov    %rsi,%r14
1405528a4:	49 8b cf             	mov    %r15,%rcx
1405528a7:	4c 89 75 7f          	mov    %r14,0x7f(%rbp)
1405528ab:	4c 89 75 df          	mov    %r14,-0x21(%rbp)
1405528af:	48 85 c9             	test   %rcx,%rcx
1405528b2:	74 27                	je     0x1405528db
1405528b4:	8b 43 10             	mov    0x10(%rbx),%eax
1405528b7:	ff c8                	dec    %eax
1405528b9:	89 43 10             	mov    %eax,0x10(%rbx)
1405528bc:	85 c0                	test   %eax,%eax
1405528be:	7f 1b                	jg     0x1405528db
1405528c0:	0f 88 0a 04 00 00    	js     0x140552cd0
1405528c6:	48 8b 03             	mov    (%rbx),%rax
1405528c9:	ba 01 00 00 00       	mov    $0x1,%edx
1405528ce:	48 8b cb             	mov    %rbx,%rcx
1405528d1:	48 8b 00             	mov    (%rax),%rax
1405528d4:	ff 15 46 11 a3 00    	call   *0xa31146(%rip)        # 0x140f83a20
1405528da:	90                   	nop
1405528db:	48 8b 1f             	mov    (%rdi),%rbx
1405528de:	48 8b 1b             	mov    (%rbx),%rbx
1405528e1:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
1405528e5:	0f 85 9f 03 00 00    	jne    0x140552c8a
1405528eb:	33 ff                	xor    %edi,%edi
1405528ed:	49 bc ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r12
1405528f4:	aa aa 2a
1405528f7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1405528fe:	00 00
140552900:	48 8d 73 20          	lea    0x20(%rbx),%rsi
140552904:	4d 8b 6f 40          	mov    0x40(%r15),%r13
140552908:	0f 57 c0             	xorps  %xmm0,%xmm0
14055290b:	f3 0f 7f 45 af       	movdqu %xmm0,-0x51(%rbp)
140552910:	48 89 7d bf          	mov    %rdi,-0x41(%rbp)
140552914:	48 85 f6             	test   %rsi,%rsi
140552917:	74 39                	je     0x140552952
140552919:	80 7e 28 0e          	cmpb   $0xe,0x28(%rsi)
14055291d:	75 33                	jne    0x140552952
14055291f:	49 8b 4d 48          	mov    0x48(%r13),%rcx
140552923:	49 8b 45 50          	mov    0x50(%r13),%rax
140552927:	48 2b c1             	sub    %rcx,%rax
14055292a:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
14055292e:	48 83 f8 08          	cmp    $0x8,%rax
140552932:	75 30                	jne    0x140552964
140552934:	48 8b 09             	mov    (%rcx),%rcx
140552937:	8b 51 18             	mov    0x18(%rcx),%edx
14055293a:	2b d0                	sub    %eax,%edx
14055293c:	74 14                	je     0x140552952
14055293e:	83 ea 07             	sub    $0x7,%edx
140552941:	74 0f                	je     0x140552952
140552943:	83 ea 02             	sub    $0x2,%edx
140552946:	74 0a                	je     0x140552952
140552948:	83 ea 02             	sub    $0x2,%edx
14055294b:	74 05                	je     0x140552952
14055294d:	83 fa 01             	cmp    $0x1,%edx
140552950:	75 12                	jne    0x140552964
140552952:	4c 8b c6             	mov    %rsi,%r8
140552955:	33 d2                	xor    %edx,%edx
140552957:	48 8d 4d af          	lea    -0x51(%rbp),%rcx
14055295b:	e8 20 c0 ff ff       	call   0x14054e980
140552960:	48 8d 75 af          	lea    -0x51(%rbp),%rsi
140552964:	4d 8b 45 50          	mov    0x50(%r13),%r8
140552968:	4d 2b 45 48          	sub    0x48(%r13),%r8
14055296c:	49 c1 f8 03          	sar    $0x3,%r8
140552970:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140552974:	48 2b 0e             	sub    (%rsi),%rcx
140552977:	49 8b c4             	mov    %r12,%rax
14055297a:	48 f7 e9             	imul   %rcx
14055297d:	48 c1 fa 03          	sar    $0x3,%rdx
140552981:	48 8b c2             	mov    %rdx,%rax
140552984:	48 c1 e8 3f          	shr    $0x3f,%rax
140552988:	48 03 d0             	add    %rax,%rdx
14055298b:	4c 3b c2             	cmp    %rdx,%r8
14055298e:	0f 85 2b 02 00 00    	jne    0x140552bbf
140552994:	b9 40 00 00 00       	mov    $0x40,%ecx
140552999:	e8 6a 87 8c 00       	call   0x140e1b108
14055299e:	48 89 45 e7          	mov    %rax,-0x19(%rbp)
1405529a2:	48 85 c0             	test   %rax,%rax
1405529a5:	74 12                	je     0x1405529b9
1405529a7:	ba 0d 00 00 00       	mov    $0xd,%edx
1405529ac:	48 8b c8             	mov    %rax,%rcx
1405529af:	e8 4c ed 1d 00       	call   0x140731700
1405529b4:	4c 8b f8             	mov    %rax,%r15
1405529b7:	eb 03                	jmp    0x1405529bc
1405529b9:	4c 8b ff             	mov    %rdi,%r15
1405529bc:	4c 89 7d c7          	mov    %r15,-0x39(%rbp)
1405529c0:	4c 8b f7             	mov    %rdi,%r14
1405529c3:	4c 8b 06             	mov    (%rsi),%r8
1405529c6:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1405529ca:	49 2b c8             	sub    %r8,%rcx
1405529cd:	49 8b c4             	mov    %r12,%rax
1405529d0:	48 f7 e9             	imul   %rcx
1405529d3:	48 c1 fa 03          	sar    $0x3,%rdx
1405529d7:	48 8b c2             	mov    %rdx,%rax
1405529da:	48 c1 e8 3f          	shr    $0x3f,%rax
1405529de:	48 03 d0             	add    %rax,%rdx
1405529e1:	0f 84 d9 00 00 00    	je     0x140552ac0
1405529e7:	48 8d 45 ef          	lea    -0x11(%rbp),%rax
1405529eb:	48 89 45 a7          	mov    %rax,-0x59(%rbp)
1405529ef:	48 8d 45 ef          	lea    -0x11(%rbp),%rax
1405529f3:	48 89 45 9f          	mov    %rax,-0x61(%rbp)
1405529f7:	4c 8b e7             	mov    %rdi,%r12
1405529fa:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140552a00:	49 8b 45 48          	mov    0x48(%r13),%rax
140552a04:	4a 8b 3c f0          	mov    (%rax,%r14,8),%rdi
140552a08:	4b 8d 14 20          	lea    (%r8,%r12,1),%rdx
140552a0c:	c6 45 17 ff          	movb   $0xff,0x17(%rbp)
140552a10:	48 0f be 4a 28       	movsbq 0x28(%rdx),%rcx
140552a15:	4c 8d 45 9f          	lea    -0x61(%rbp),%r8
140552a19:	e8 c2 db fe ff       	call   0x1405405e0
140552a1e:	90                   	nop
140552a1f:	4c 8b c7             	mov    %rdi,%r8
140552a22:	48 8d 55 ef          	lea    -0x11(%rbp),%rdx
140552a26:	48 8d 4d 67          	lea    0x67(%rbp),%rcx
140552a2a:	e8 51 1f 00 00       	call   0x140554980
140552a2f:	90                   	nop
140552a30:	48 8b 45 67          	mov    0x67(%rbp),%rax
140552a34:	48 85 c0             	test   %rax,%rax
140552a37:	0f 84 15 01 00 00    	je     0x140552b52
140552a3d:	33 ff                	xor    %edi,%edi
140552a3f:	48 89 7d 67          	mov    %rdi,0x67(%rbp)
140552a43:	48 89 45 97          	mov    %rax,-0x69(%rbp)
140552a47:	48 8d 55 97          	lea    -0x69(%rbp),%rdx
140552a4b:	49 8b cf             	mov    %r15,%rcx
140552a4e:	e8 6d 1a 1e 00       	call   0x1407344c0
140552a53:	90                   	nop
140552a54:	48 8b 4d 67          	mov    0x67(%rbp),%rcx
140552a58:	48 85 c9             	test   %rcx,%rcx
140552a5b:	74 24                	je     0x140552a81
140552a5d:	8b 41 10             	mov    0x10(%rcx),%eax
140552a60:	ff c8                	dec    %eax
140552a62:	89 41 10             	mov    %eax,0x10(%rcx)
140552a65:	85 c0                	test   %eax,%eax
140552a67:	7f 18                	jg     0x140552a81
140552a69:	0f 88 6c 02 00 00    	js     0x140552cdb
140552a6f:	48 8b 01             	mov    (%rcx),%rax
140552a72:	ba 01 00 00 00       	mov    $0x1,%edx
140552a77:	48 8b 00             	mov    (%rax),%rax
140552a7a:	ff 15 a0 0f a3 00    	call   *0xa30fa0(%rip)        # 0x140f83a20
140552a80:	90                   	nop
140552a81:	49 ff c6             	inc    %r14
140552a84:	49 83 c4 30          	add    $0x30,%r12
140552a88:	4c 8b 06             	mov    (%rsi),%r8
140552a8b:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140552a8f:	49 2b c8             	sub    %r8,%rcx
140552a92:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
140552a99:	aa aa 2a
140552a9c:	48 f7 e9             	imul   %rcx
140552a9f:	48 c1 fa 03          	sar    $0x3,%rdx
140552aa3:	48 8b c2             	mov    %rdx,%rax
140552aa6:	48 c1 e8 3f          	shr    $0x3f,%rax
140552aaa:	48 03 d0             	add    %rax,%rdx
140552aad:	4c 3b f2             	cmp    %rdx,%r14
140552ab0:	0f 82 4a ff ff ff    	jb     0x140552a00
140552ab6:	49 bc ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r12
140552abd:	aa aa 2a
140552ac0:	48 89 7d 97          	mov    %rdi,-0x69(%rbp)
140552ac4:	48 89 7d c7          	mov    %rdi,-0x39(%rbp)
140552ac8:	4c 89 7d 9f          	mov    %r15,-0x61(%rbp)
140552acc:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140552ad1:	41 b1 01             	mov    $0x1,%r9b
140552ad4:	4c 8d 45 97          	lea    -0x69(%rbp),%r8
140552ad8:	48 8d 55 9f          	lea    -0x61(%rbp),%rdx
140552adc:	4c 8b 75 7f          	mov    0x7f(%rbp),%r14
140552ae0:	49 8b ce             	mov    %r14,%rcx
140552ae3:	e8 88 22 1e 00       	call   0x140734d70
140552ae8:	90                   	nop
140552ae9:	48 8d 4d af          	lea    -0x51(%rbp),%rcx
140552aed:	e8 5e f2 e6 ff       	call   0x1403c1d50
140552af2:	48 8b 43 10          	mov    0x10(%rbx),%rax
140552af6:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140552afa:	74 22                	je     0x140552b1e
140552afc:	48 8b 43 08          	mov    0x8(%rbx),%rax
140552b00:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140552b04:	75 13                	jne    0x140552b19
140552b06:	48 3b 58 10          	cmp    0x10(%rax),%rbx
140552b0a:	75 0d                	jne    0x140552b19
140552b0c:	48 8b d8             	mov    %rax,%rbx
140552b0f:	48 8b 40 08          	mov    0x8(%rax),%rax
140552b13:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140552b17:	74 ed                	je     0x140552b06
140552b19:	48 8b d8             	mov    %rax,%rbx
140552b1c:	eb 21                	jmp    0x140552b3f
140552b1e:	48 8b d8             	mov    %rax,%rbx
140552b21:	48 8b 08             	mov    (%rax),%rcx
140552b24:	80 79 19 00          	cmpb   $0x0,0x19(%rcx)
140552b28:	75 15                	jne    0x140552b3f
140552b2a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140552b30:	48 8b d9             	mov    %rcx,%rbx
140552b33:	48 8b 01             	mov    (%rcx),%rax
140552b36:	48 8b c8             	mov    %rax,%rcx
140552b39:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140552b3d:	74 f1                	je     0x140552b30
140552b3f:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
140552b43:	0f 85 3d 01 00 00    	jne    0x140552c86
140552b49:	4c 8b 7d d7          	mov    -0x29(%rbp),%r15
140552b4d:	e9 ae fd ff ff       	jmp    0x140552900
140552b52:	4c 8b 65 6f          	mov    0x6f(%rbp),%r12
140552b56:	33 f6                	xor    %esi,%esi
140552b58:	49 89 34 24          	mov    %rsi,(%r12)
140552b5c:	4d 85 ff             	test   %r15,%r15
140552b5f:	74 29                	je     0x140552b8a
140552b61:	41 8b 47 10          	mov    0x10(%r15),%eax
140552b65:	ff c8                	dec    %eax
140552b67:	41 89 47 10          	mov    %eax,0x10(%r15)
140552b6b:	85 c0                	test   %eax,%eax
140552b6d:	7f 1b                	jg     0x140552b8a
140552b6f:	0f 88 71 01 00 00    	js     0x140552ce6
140552b75:	49 8b 07             	mov    (%r15),%rax
140552b78:	ba 01 00 00 00       	mov    $0x1,%edx
140552b7d:	49 8b cf             	mov    %r15,%rcx
140552b80:	48 8b 00             	mov    (%rax),%rax
140552b83:	ff 15 97 0e a3 00    	call   *0xa30e97(%rip)        # 0x140f83a20
140552b89:	90                   	nop
140552b8a:	48 8d 4d af          	lea    -0x51(%rbp),%rcx
140552b8e:	e8 bd f1 e6 ff       	call   0x1403c1d50
140552b93:	90                   	nop
140552b94:	48 8b 4d 7f          	mov    0x7f(%rbp),%rcx
140552b98:	48 85 c9             	test   %rcx,%rcx
140552b9b:	0f 84 e3 00 00 00    	je     0x140552c84
140552ba1:	8b 41 10             	mov    0x10(%rcx),%eax
140552ba4:	ff c8                	dec    %eax
140552ba6:	89 41 10             	mov    %eax,0x10(%rcx)
140552ba9:	85 c0                	test   %eax,%eax
140552bab:	0f 8f d3 00 00 00    	jg     0x140552c84
140552bb1:	0f 88 3a 01 00 00    	js     0x140552cf1
140552bb7:	48 8b 01             	mov    (%rcx),%rax
140552bba:	e9 b6 00 00 00       	jmp    0x140552c75
140552bbf:	4c 8b 65 6f          	mov    0x6f(%rbp),%r12
140552bc3:	49 89 3c 24          	mov    %rdi,(%r12)
140552bc7:	48 8b 5d af          	mov    -0x51(%rbp),%rbx
140552bcb:	48 85 db             	test   %rbx,%rbx
140552bce:	0f 84 86 00 00 00    	je     0x140552c5a
140552bd4:	48 8b 7d b7          	mov    -0x49(%rbp),%rdi
140552bd8:	48 3b df             	cmp    %rdi,%rbx
140552bdb:	74 18                	je     0x140552bf5
140552bdd:	0f 1f 00             	nopl   (%rax)
140552be0:	48 8b cb             	mov    %rbx,%rcx
140552be3:	e8 b8 f0 e6 ff       	call   0x1403c1ca0
140552be8:	48 83 c3 30          	add    $0x30,%rbx
140552bec:	48 3b df             	cmp    %rdi,%rbx
140552bef:	75 ef                	jne    0x140552be0
140552bf1:	48 8b 5d af          	mov    -0x51(%rbp),%rbx
140552bf5:	48 8b 4d bf          	mov    -0x41(%rbp),%rcx
140552bf9:	48 2b cb             	sub    %rbx,%rcx
140552bfc:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
140552c03:	aa aa 2a
140552c06:	48 f7 e9             	imul   %rcx
140552c09:	48 c1 fa 03          	sar    $0x3,%rdx
140552c0d:	48 8b c2             	mov    %rdx,%rax
140552c10:	48 c1 e8 3f          	shr    $0x3f,%rax
140552c14:	48 03 d0             	add    %rax,%rdx
140552c17:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
140552c1b:	48 c1 e2 04          	shl    $0x4,%rdx
140552c1f:	48 8b c3             	mov    %rbx,%rax
140552c22:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140552c29:	72 19                	jb     0x140552c44
140552c2b:	48 83 c2 27          	add    $0x27,%rdx
140552c2f:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
140552c33:	48 2b c3             	sub    %rbx,%rax
140552c36:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140552c3a:	48 83 f8 1f          	cmp    $0x1f,%rax
140552c3e:	0f 87 b8 00 00 00    	ja     0x140552cfc
140552c44:	48 8b cb             	mov    %rbx,%rcx
140552c47:	e8 f8 84 8c 00       	call   0x140e1b144
140552c4c:	0f 57 c0             	xorps  %xmm0,%xmm0
140552c4f:	f3 0f 7f 45 af       	movdqu %xmm0,-0x51(%rbp)
140552c54:	33 f6                	xor    %esi,%esi
140552c56:	48 89 75 bf          	mov    %rsi,-0x41(%rbp)
140552c5a:	4d 85 f6             	test   %r14,%r14
140552c5d:	74 25                	je     0x140552c84
140552c5f:	41 8b 46 10          	mov    0x10(%r14),%eax
140552c63:	ff c8                	dec    %eax
140552c65:	41 89 46 10          	mov    %eax,0x10(%r14)
140552c69:	85 c0                	test   %eax,%eax
140552c6b:	7f 17                	jg     0x140552c84
140552c6d:	78 43                	js     0x140552cb2
140552c6f:	49 8b 06             	mov    (%r14),%rax
140552c72:	49 8b ce             	mov    %r14,%rcx
140552c75:	ba 01 00 00 00       	mov    $0x1,%edx
140552c7a:	48 8b 00             	mov    (%rax),%rax
140552c7d:	ff 15 9d 0d a3 00    	call   *0xa30d9d(%rip)        # 0x140f83a20
140552c83:	90                   	nop
140552c84:	eb 0e                	jmp    0x140552c94
140552c86:	4c 8b 65 6f          	mov    0x6f(%rbp),%r12
140552c8a:	4d 89 34 24          	mov    %r14,(%r12)
140552c8e:	eb 04                	jmp    0x140552c94
140552c90:	49 89 34 24          	mov    %rsi,(%r12)
140552c94:	49 8b c4             	mov    %r12,%rax
140552c97:	48 8b 9c 24 10 01 00 	mov    0x110(%rsp),%rbx
140552c9e:	00
140552c9f:	48 81 c4 c0 00 00 00 	add    $0xc0,%rsp
140552ca6:	41 5f                	pop    %r15
140552ca8:	41 5e                	pop    %r14
140552caa:	41 5d                	pop    %r13
140552cac:	41 5c                	pop    %r12
140552cae:	5f                   	pop    %rdi
140552caf:	5e                   	pop    %rsi
140552cb0:	5d                   	pop    %rbp
140552cb1:	c3                   	ret
140552cb2:	b9 02 00 00 00       	mov    $0x2,%ecx
140552cb7:	e8 44 7a 23 00       	call   0x14078a700
140552cbc:	90                   	nop
140552cbd:	33 c9                	xor    %ecx,%ecx
140552cbf:	e8 3c 7a 23 00       	call   0x14078a700
140552cc4:	cc                   	int3
140552cc5:	b9 01 00 00 00       	mov    $0x1,%ecx
140552cca:	e8 31 7a 23 00       	call   0x14078a700
140552ccf:	90                   	nop
140552cd0:	b9 02 00 00 00       	mov    $0x2,%ecx
140552cd5:	e8 26 7a 23 00       	call   0x14078a700
140552cda:	90                   	nop
140552cdb:	b9 02 00 00 00       	mov    $0x2,%ecx
140552ce0:	e8 1b 7a 23 00       	call   0x14078a700
140552ce5:	90                   	nop
140552ce6:	b9 02 00 00 00       	mov    $0x2,%ecx
140552ceb:	e8 10 7a 23 00       	call   0x14078a700
140552cf0:	90                   	nop
140552cf1:	b9 02 00 00 00       	mov    $0x2,%ecx
140552cf6:	e8 05 7a 23 00       	call   0x14078a700
140552cfb:	90                   	nop
140552cfc:	e8 a3 74 8d 00       	call   0x140e2a1a4
140552d01:	cc                   	int3
140552d02:	cc                   	int3
140552d03:	cc                   	int3
140552d04:	cc                   	int3
140552d05:	cc                   	int3
140552d06:	cc                   	int3
140552d07:	cc                   	int3
140552d08:	cc                   	int3
140552d09:	cc                   	int3
140552d0a:	cc                   	int3
140552d0b:	cc                   	int3
140552d0c:	cc                   	int3
140552d0d:	cc                   	int3
140552d0e:	cc                   	int3
140552d0f:	cc                   	int3
140552d10:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140552d15:	55                   	push   %rbp
140552d16:	56                   	push   %rsi
140552d17:	57                   	push   %rdi
140552d18:	41 54                	push   %r12
140552d1a:	41 55                	push   %r13
140552d1c:	41 56                	push   %r14
140552d1e:	41 57                	push   %r15
140552d20:	48 8d 6c 24 d9       	lea    -0x27(%rsp),%rbp
140552d25:	48 81 ec c0 00 00 00 	sub    $0xc0,%rsp
140552d2c:	4d 8b e0             	mov    %r8,%r12
140552d2f:	4c 8b f2             	mov    %rdx,%r14