1405228ca:	8b 41 10             	mov    0x10(%rcx),%eax
1405228cd:	ff c0                	inc    %eax
1405228cf:	89 41 10             	mov    %eax,0x10(%rcx)
1405228d2:	83 f8 01             	cmp    $0x1,%eax
1405228d5:	0f 8e 68 01 00 00    	jle    0x140522a43
1405228db:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1405228e0:	0f 84 65 01 00 00    	je     0x140522a4b
1405228e6:	48 8b 06             	mov    (%rsi),%rax
1405228e9:	48 c7 06 00 00 00 00 	movq   $0x0,(%rsi)
1405228f0:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
1405228f5:	48 8b 07             	mov    (%rdi),%rax
1405228f8:	48 c7 07 00 00 00 00 	movq   $0x0,(%rdi)
1405228ff:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
140522904:	0f 57 c0             	xorps  %xmm0,%xmm0
140522907:	f3 0f 7f 44 24 38    	movdqu %xmm0,0x38(%rsp)
14052290d:	48 c7 44 24 48 00 00 	movq   $0x0,0x48(%rsp)
140522914:	00 00
140522916:	ba 04 00 00 00       	mov    $0x4,%edx
14052291b:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140522920:	e8 bb d7 c7 ff       	call   0x1401a00e0
140522925:	4c 8b 44 24 38       	mov    0x38(%rsp),%r8
14052292a:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
14052292f:	90                   	nop
140522930:	48 8b 0a             	mov    (%rdx),%rcx
140522933:	49 89 08             	mov    %rcx,(%r8)
140522936:	48 85 c9             	test   %rcx,%rcx
140522939:	74 1c                	je     0x140522957
14052293b:	8b 41 10             	mov    0x10(%rcx),%eax
14052293e:	ff c0                	inc    %eax
140522940:	89 41 10             	mov    %eax,0x10(%rcx)
140522943:	83 f8 01             	cmp    $0x1,%eax
140522946:	0f 8e 20 01 00 00    	jle    0x140522a6c
14052294c:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140522951:	0f 84 0a 01 00 00    	je     0x140522a61
140522957:	49 83 c0 08          	add    $0x8,%r8
14052295b:	48 83 c2 08          	add    $0x8,%rdx
14052295f:	48 8d 84 24 80 00 00 	lea    0x80(%rsp),%rax
140522966:	00
140522967:	48 3b d0             	cmp    %rax,%rdx
14052296a:	75 c4                	jne    0x140522930
14052296c:	4c 89 44 24 40       	mov    %r8,0x40(%rsp)
140522971:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
140522976:	89 6c 24 20          	mov    %ebp,0x20(%rsp)
14052297a:	45 33 c9             	xor    %r9d,%r9d
14052297d:	4c 8d 44 24 38       	lea    0x38(%rsp),%r8
140522982:	48 8d 15 77 8f f0 00 	lea    0xf08f77(%rip),%rdx        # 0x14142b900
140522989:	48 8d 0d 30 a4 e8 00 	lea    0xe8a430(%rip),%rcx        # 0x1413acdc0
140522990:	e8 ab 3d 2f 00       	call   0x140816740
140522995:	90                   	nop
140522996:	4c 8d 0d 53 bb c7 ff 	lea    -0x3844ad(%rip),%r9        # 0x14019e4f0
14052299d:	ba 08 00 00 00       	mov    $0x8,%edx
1405229a2:	41 b8 04 00 00 00    	mov    $0x4,%r8d
1405229a8:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
1405229ad:	e8 9a 8b 8f 00       	call   0x140e1b54c
1405229b2:	90                   	nop
1405229b3:	48 8b 0e             	mov    (%rsi),%rcx
1405229b6:	48 85 c9             	test   %rcx,%rcx
1405229b9:	74 24                	je     0x1405229df
1405229bb:	8b 41 10             	mov    0x10(%rcx),%eax
1405229be:	ff c8                	dec    %eax
1405229c0:	89 41 10             	mov    %eax,0x10(%rcx)
1405229c3:	85 c0                	test   %eax,%eax
1405229c5:	7f 18                	jg     0x1405229df
1405229c7:	0f 88 89 00 00 00    	js     0x140522a56
1405229cd:	48 8b 01             	mov    (%rcx),%rax
1405229d0:	ba 01 00 00 00       	mov    $0x1,%edx
1405229d5:	48 8b 00             	mov    (%rax),%rax
1405229d8:	ff 15 42 10 a6 00    	call   *0xa61042(%rip)        # 0x140f83a20
1405229de:	90                   	nop
1405229df:	48 8b 0f             	mov    (%rdi),%rcx
1405229e2:	48 85 c9             	test   %rcx,%rcx
1405229e5:	74 20                	je     0x140522a07
1405229e7:	8b 41 10             	mov    0x10(%rcx),%eax
1405229ea:	ff c8                	dec    %eax
1405229ec:	89 41 10             	mov    %eax,0x10(%rcx)
1405229ef:	85 c0                	test   %eax,%eax
1405229f1:	7f 14                	jg     0x140522a07
1405229f3:	78 30                	js     0x140522a25
1405229f5:	48 8b 01             	mov    (%rcx),%rax
1405229f8:	ba 01 00 00 00       	mov    $0x1,%edx
1405229fd:	48 8b 00             	mov    (%rax),%rax
140522a00:	ff 15 1a 10 a6 00    	call   *0xa6101a(%rip)        # 0x140f83a20
140522a06:	90                   	nop
140522a07:	48 8b 8c 24 80 00 00 	mov    0x80(%rsp),%rcx
140522a0e:	00
140522a0f:	48 33 cc             	xor    %rsp,%rcx
140522a12:	e8 e9 8a 8f 00       	call   0x140e1b500
140522a17:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
140522a1e:	41 5e                	pop    %r14
140522a20:	5f                   	pop    %rdi
140522a21:	5e                   	pop    %rsi
140522a22:	5d                   	pop    %rbp
140522a23:	5b                   	pop    %rbx
140522a24:	c3                   	ret
140522a25:	b9 02 00 00 00       	mov    $0x2,%ecx
140522a2a:	e8 d1 7c 26 00       	call   0x14078a700
140522a2f:	90                   	nop
140522a30:	33 c9                	xor    %ecx,%ecx
140522a32:	e8 c9 7c 26 00       	call   0x14078a700
140522a37:	cc                   	int3
140522a38:	b9 01 00 00 00       	mov    $0x1,%ecx
140522a3d:	e8 be 7c 26 00       	call   0x14078a700
140522a42:	90                   	nop
140522a43:	33 c9                	xor    %ecx,%ecx
140522a45:	e8 b6 7c 26 00       	call   0x14078a700
140522a4a:	cc                   	int3
140522a4b:	b9 01 00 00 00       	mov    $0x1,%ecx
140522a50:	e8 ab 7c 26 00       	call   0x14078a700
140522a55:	90                   	nop
140522a56:	b9 02 00 00 00       	mov    $0x2,%ecx
140522a5b:	e8 a0 7c 26 00       	call   0x14078a700
140522a60:	90                   	nop
140522a61:	b9 01 00 00 00       	mov    $0x1,%ecx
140522a66:	e8 95 7c 26 00       	call   0x14078a700
140522a6b:	cc                   	int3
140522a6c:	33 c9                	xor    %ecx,%ecx
140522a6e:	e8 8d 7c 26 00       	call   0x14078a700
140522a73:	cc                   	int3
140522a74:	cc                   	int3
140522a75:	cc                   	int3
140522a76:	cc                   	int3
140522a77:	cc                   	int3
140522a78:	cc                   	int3
140522a79:	cc                   	int3
140522a7a:	cc                   	int3
140522a7b:	cc                   	int3
140522a7c:	cc                   	int3
140522a7d:	cc                   	int3
140522a7e:	cc                   	int3
140522a7f:	cc                   	int3
140522a80:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140522a85:	55                   	push   %rbp
140522a86:	56                   	push   %rsi
140522a87:	57                   	push   %rdi
140522a88:	41 54                	push   %r12
140522a8a:	41 55                	push   %r13
140522a8c:	41 56                	push   %r14
140522a8e:	41 57                	push   %r15
140522a90:	48 8d 6c 24 f0       	lea    -0x10(%rsp),%rbp
140522a95:	48 81 ec 10 01 00 00 	sub    $0x110,%rsp
140522a9c:	48 8b 05 5d 64 e9 00 	mov    0xe9645d(%rip),%rax        # 0x1413b8f00
140522aa3:	48 33 c4             	xor    %rsp,%rax
140522aa6:	48 89 45 00          	mov    %rax,0x0(%rbp)
140522aaa:	48 8b fa             	mov    %rdx,%rdi
140522aad:	4c 8b f1             	mov    %rcx,%r14
140522ab0:	48 89 54 24 48       	mov    %rdx,0x48(%rsp)
140522ab5:	33 db                	xor    %ebx,%ebx
140522ab7:	8b f3                	mov    %ebx,%esi
140522ab9:	89 5c 24 40          	mov    %ebx,0x40(%rsp)
140522abd:	b9 90 00 00 00       	mov    $0x90,%ecx
140522ac2:	e8 41 86 8f 00       	call   0x140e1b108
140522ac7:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140522acc:	48 85 c0             	test   %rax,%rax
140522acf:	74 51                	je     0x140522b22
140522ad1:	0f 57 c0             	xorps  %xmm0,%xmm0
140522ad4:	0f 11 44 24 58       	movups %xmm0,0x58(%rsp)
140522ad9:	66 0f 6f 0d 0f 18 a8 	movdqa 0xa8180f(%rip),%xmm1        # 0x140fa42f0
140522ae0:	00
140522ae1:	f3 0f 7f 4c 24 68    	movdqu %xmm1,0x68(%rsp)
140522ae7:	c7 44 24 58 44 48 43 	movl   $0x50434844,0x58(%rsp)
140522aee:	50
140522aef:	88 5c 24 5c          	mov    %bl,0x5c(%rsp)
140522af3:	be 01 00 00 00       	mov    $0x1,%esi
140522af8:	89 74 24 40          	mov    %esi,0x40(%rsp)
140522afc:	88 5c 24 30          	mov    %bl,0x30(%rsp)
140522b00:	88 5c 24 28          	mov    %bl,0x28(%rsp)
140522b04:	40 88 74 24 20       	mov    %sil,0x20(%rsp)
140522b09:	45 33 c9             	xor    %r9d,%r9d
140522b0c:	4c 8d 05 1d 04 00 00 	lea    0x41d(%rip),%r8        # 0x140522f30
140522b13:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
140522b18:	48 8b c8             	mov    %rax,%rcx
140522b1b:	e8 b0 e8 00 00       	call   0x1405313d0
140522b20:	eb 03                	jmp    0x140522b25
140522b22:	48 8b c3             	mov    %rbx,%rax
140522b25:	48 8b d0             	mov    %rax,%rdx
140522b28:	49 8b ce             	mov    %r14,%rcx
140522b2b:	e8 f0 45 1d 00       	call   0x1406f7120
140522b30:	90                   	nop
140522b31:	40 f6 c6 01          	test   $0x1,%sil
140522b35:	74 53                	je     0x140522b8a
140522b37:	83 e6 fe             	and    $0xfffffffe,%esi
140522b3a:	48 8b 54 24 70       	mov    0x70(%rsp),%rdx
140522b3f:	48 83 fa 0f          	cmp    $0xf,%rdx
140522b43:	76 32                	jbe    0x140522b77
140522b45:	48 ff c2             	inc    %rdx
140522b48:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140522b4d:	48 8b c1             	mov    %rcx,%rax
140522b50:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140522b57:	72 19                	jb     0x140522b72
140522b59:	48 83 c2 27          	add    $0x27,%rdx
140522b5d:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140522b61:	48 2b c1             	sub    %rcx,%rax
140522b64:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140522b68:	48 83 f8 1f          	cmp    $0x1f,%rax
140522b6c:	0f 87 ac 03 00 00    	ja     0x140522f1e
140522b72:	e8 cd 85 8f 00       	call   0x140e1b144
140522b77:	66 0f 6f 05 b1 12 a8 	movdqa 0xa812b1(%rip),%xmm0        # 0x140fa3e30
140522b7e:	00
140522b7f:	f3 0f 7f 44 24 68    	movdqu %xmm0,0x68(%rsp)
140522b85:	c6 44 24 58 00       	movb   $0x0,0x58(%rsp)
140522b8a:	0f 57 c0             	xorps  %xmm0,%xmm0
140522b8d:	0f 11 07             	movups %xmm0,(%rdi)
140522b90:	48 89 5f 10          	mov    %rbx,0x10(%rdi)
140522b94:	41 bc 0f 00 00 00    	mov    $0xf,%r12d
140522b9a:	4c 89 67 18          	mov    %r12,0x18(%rdi)
140522b9e:	c6 07 00             	movb   $0x0,(%rdi)
140522ba1:	4c 8d 77 20          	lea    0x20(%rdi),%r14
140522ba5:	41 0f 11 06          	movups %xmm0,(%r14)
140522ba9:	4d 8d 6e 10          	lea    0x10(%r14),%r13
140522bad:	49 89 5d 00          	mov    %rbx,0x0(%r13)
140522bb1:	4d 89 66 18          	mov    %r12,0x18(%r14)
140522bb5:	41 c6 06 00          	movb   $0x0,(%r14)
140522bb9:	48 c7 47 40 ff ff ff 	movq   $0xffffffffffffffff,0x40(%rdi)
140522bc0:	ff
140522bc1:	89 5f 48             	mov    %ebx,0x48(%rdi)
140522bc4:	48 8d 57 50          	lea    0x50(%rdi),%rdx
140522bc8:	48 89 5a 38          	mov    %rbx,0x38(%rdx)
140522bcc:	48 89 9f c8 00 00 00 	mov    %rbx,0xc8(%rdi)
140522bd3:	48 8d 05 1e 12 a8 00 	lea    0xa8121e(%rip),%rax        # 0x140fa3df8
140522bda:	48 89 45 80          	mov    %rax,-0x80(%rbp)
140522bde:	48 8d 05 7b 83 43 00 	lea    0x43837b(%rip),%rax        # 0x14095af60
140522be5:	48 89 45 88          	mov    %rax,-0x78(%rbp)
140522be9:	48 8d 45 80          	lea    -0x80(%rbp),%rax
140522bed:	48 89 45 b8          	mov    %rax,-0x48(%rbp)
140522bf1:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
140522bf5:	e8 66 c6 c7 ff       	call   0x14019f260
140522bfa:	48 8b 4d b8          	mov    -0x48(%rbp),%rcx
140522bfe:	48 85 c9             	test   %rcx,%rcx
140522c01:	74 17                	je     0x140522c1a
140522c03:	48 8b 01             	mov    (%rcx),%rax
140522c06:	48 8d 55 80          	lea    -0x80(%rbp),%rdx
140522c0a:	48 3b ca             	cmp    %rdx,%rcx
140522c0d:	0f 95 c2             	setne  %dl
140522c10:	48 8b 40 20          	mov    0x20(%rax),%rax
140522c14:	ff 15 06 0e a6 00    	call   *0xa60e06(%rip)        # 0x140f83a20
140522c1a:	48 8d 05 d7 11 a8 00 	lea    0xa811d7(%rip),%rax        # 0x140fa3df8
140522c21:	48 89 45 c0          	mov    %rax,-0x40(%rbp)
140522c25:	48 8d 05 34 83 43 00 	lea    0x438334(%rip),%rax        # 0x14095af60
140522c2c:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
140522c30:	48 8d 45 c0          	lea    -0x40(%rbp),%rax
140522c34:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
140522c38:	48 8d 97 90 00 00 00 	lea    0x90(%rdi),%rdx
140522c3f:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
140522c43:	e8 18 c6 c7 ff       	call   0x14019f260
140522c48:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
140522c4c:	48 85 c9             	test   %rcx,%rcx
140522c4f:	74 18                	je     0x140522c69
140522c51:	48 8b 01             	mov    (%rcx),%rax
140522c54:	48 8d 55 c0          	lea    -0x40(%rbp),%rdx
140522c58:	48 3b ca             	cmp    %rdx,%rcx
140522c5b:	0f 95 c2             	setne  %dl
140522c5e:	48 8b 40 20          	mov    0x20(%rax),%rax
140522c62:	ff 15 b8 0d a6 00    	call   *0xa60db8(%rip)        # 0x140f83a20
140522c68:	90                   	nop
140522c69:	83 ce 02             	or     $0x2,%esi
140522c6c:	89 74 24 40          	mov    %esi,0x40(%rsp)
140522c70:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
140522c74:	48 be ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rsi
140522c7b:	ff ff 7f
140522c7e:	49 b8 00 00 00 00 00 	movabs $0x8000000000000000,%r8
140522c85:	00 00 80
140522c88:	48 83 f9 0a          	cmp    $0xa,%rcx
140522c8c:	72 33                	jb     0x140522cc1
140522c8e:	4c 8b ff             	mov    %rdi,%r15
140522c91:	48 83 f9 0f          	cmp    $0xf,%rcx
140522c95:	76 03                	jbe    0x140522c9a
140522c97:	4c 8b 3f             	mov    (%rdi),%r15
140522c9a:	48 c7 47 10 0a 00 00 	movq   $0xa,0x10(%rdi)
140522ca1:	00
140522ca2:	41 b8 0a 00 00 00    	mov    $0xa,%r8d
140522ca8:	48 8d 15 d1 82 ae 00 	lea    0xae82d1(%rip),%rdx        # 0x14100af80
140522caf:	49 8b cf             	mov    %r15,%rcx
140522cb2:	e8 59 c3 9b 00       	call   0x140edf010
140522cb7:	41 c6 47 0a 00       	movb   $0x0,0xa(%r15)
140522cbc:	e9 df 00 00 00       	jmp    0x140522da0
140522cc1:	48 8b d1             	mov    %rcx,%rdx
140522cc4:	48 d1 ea             	shr    $1,%rdx
140522cc7:	48 8b c6             	mov    %rsi,%rax
140522cca:	48 2b c2             	sub    %rdx,%rax
140522ccd:	48 3b c8             	cmp    %rax,%rcx
140522cd0:	76 09                	jbe    0x140522cdb
140522cd2:	4c 8b fe             	mov    %rsi,%r15
140522cd5:	49 8d 40 27          	lea    0x27(%r8),%rax
140522cd9:	eb 5c                	jmp    0x140522d37
140522cdb:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
140522cdf:	4d 8b fc             	mov    %r12,%r15
140522ce2:	49 3b c4             	cmp    %r12,%rax
140522ce5:	4c 0f 47 f8          	cmova  %rax,%r15
140522ce9:	49 8d 4f 01          	lea    0x1(%r15),%rcx
140522ced:	48 85 c9             	test   %rcx,%rcx
140522cf0:	75 2f                	jne    0x140522d21
140522cf2:	48 8b cb             	mov    %rbx,%rcx
140522cf5:	48 c7 47 10 0a 00 00 	movq   $0xa,0x10(%rdi)
140522cfc:	00
140522cfd:	4c 89 7f 18          	mov    %r15,0x18(%rdi)
140522d01:	f2 0f 10 05 77 82 ae 	movsd  0xae8277(%rip),%xmm0        # 0x14100af80
140522d08:	00
140522d09:	f2 0f 11 03          	movsd  %xmm0,(%rbx)
140522d0d:	0f b7 05 74 82 ae 00 	movzwl 0xae8274(%rip),%eax        # 0x14100af88
140522d14:	66 89 43 08          	mov    %ax,0x8(%rbx)
140522d18:	88 0c 25 0a 00 00 00 	mov    %cl,0xa
140522d1f:	eb 7c                	jmp    0x140522d9d
140522d21:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140522d28:	72 44                	jb     0x140522d6e
140522d2a:	48 8d 41 27          	lea    0x27(%rcx),%rax
140522d2e:	48 3b c1             	cmp    %rcx,%rax
140522d31:	0f 86 e1 01 00 00    	jbe    0x140522f18
140522d37:	48 8b c8             	mov    %rax,%rcx
140522d3a:	e8 c9 83 8f 00       	call   0x140e1b108
140522d3f:	48 85 c0             	test   %rax,%rax
140522d42:	0f 84 ca 01 00 00    	je     0x140522f12
140522d48:	48 8d 48 27          	lea    0x27(%rax),%rcx
140522d4c:	48 83 e1 e0          	and    $0xffffffffffffffe0,%rcx
140522d50:	48 89 41 f8          	mov    %rax,-0x8(%rcx)
140522d54:	48 c7 47 10 0a 00 00 	movq   $0xa,0x10(%rdi)
140522d5b:	00
140522d5c:	4c 89 7f 18          	mov    %r15,0x18(%rdi)
140522d60:	f2 0f 10 05 18 82 ae 	movsd  0xae8218(%rip),%xmm0        # 0x14100af80
140522d67:	00
140522d68:	f2 0f 11 01          	movsd  %xmm0,(%rcx)
140522d6c:	eb 20                	jmp    0x140522d8e
140522d6e:	e8 95 83 8f 00       	call   0x140e1b108
140522d73:	48 8b c8             	mov    %rax,%rcx
140522d76:	48 c7 47 10 0a 00 00 	movq   $0xa,0x10(%rdi)
140522d7d:	00
140522d7e:	4c 89 7f 18          	mov    %r15,0x18(%rdi)
140522d82:	f2 0f 10 05 f6 81 ae 	movsd  0xae81f6(%rip),%xmm0        # 0x14100af80
140522d89:	00
140522d8a:	f2 0f 11 00          	movsd  %xmm0,(%rax)
140522d8e:	0f b7 05 f3 81 ae 00 	movzwl 0xae81f3(%rip),%eax        # 0x14100af88
140522d95:	66 89 41 08          	mov    %ax,0x8(%rcx)
140522d99:	c6 41 0a 00          	movb   $0x0,0xa(%rcx)
140522d9d:	48 89 0f             	mov    %rcx,(%rdi)
140522da0:	49 8b 4e 18          	mov    0x18(%r14),%rcx
140522da4:	48 83 f9 0d          	cmp    $0xd,%rcx
140522da8:	72 30                	jb     0x140522dda
140522daa:	48 83 f9 0f          	cmp    $0xf,%rcx
140522dae:	76 03                	jbe    0x140522db3
140522db0:	4d 8b 36             	mov    (%r14),%r14
140522db3:	49 c7 45 00 0d 00 00 	movq   $0xd,0x0(%r13)
140522dba:	00
140522dbb:	41 b8 0d 00 00 00    	mov    $0xd,%r8d
140522dc1:	48 8d 15 c8 81 ae 00 	lea    0xae81c8(%rip),%rdx        # 0x14100af90
140522dc8:	49 8b ce             	mov    %r14,%rcx
140522dcb:	e8 40 c2 9b 00       	call   0x140edf010
140522dd0:	41 c6 46 0d 00       	movb   $0x0,0xd(%r14)
140522dd5:	e9 0e 01 00 00       	jmp    0x140522ee8
140522dda:	48 8b d1             	mov    %rcx,%rdx
140522ddd:	48 d1 ea             	shr    $1,%rdx
140522de0:	48 8b c6             	mov    %rsi,%rax