1404549b7:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
1404549bb:	e8 30 a1 ff ff       	call   0x14044eaf0
1404549c0:	48 8b 08             	mov    (%rax),%rcx
1404549c3:	4c 89 38             	mov    %r15,(%rax)
1404549c6:	48 89 4d 38          	mov    %rcx,0x38(%rbp)
1404549ca:	48 8b 08             	mov    (%rax),%rcx
1404549cd:	48 85 c9             	test   %rcx,%rcx
1404549d0:	74 24                	je     0x1404549f6
1404549d2:	8b 41 10             	mov    0x10(%rcx),%eax
1404549d5:	ff c8                	dec    %eax
1404549d7:	89 41 10             	mov    %eax,0x10(%rcx)
1404549da:	85 c0                	test   %eax,%eax
1404549dc:	7f 18                	jg     0x1404549f6
1404549de:	0f 88 55 01 00 00    	js     0x140454b39
1404549e4:	48 8b 01             	mov    (%rcx),%rax
1404549e7:	ba 01 00 00 00       	mov    $0x1,%edx
1404549ec:	48 8b 00             	mov    (%rax),%rax
1404549ef:	ff 15 2b f0 b2 00    	call   *0xb2f02b(%rip)        # 0x140f83a20
1404549f5:	90                   	nop
1404549f6:	4c 8d 45 38          	lea    0x38(%rbp),%r8
1404549fa:	ba 02 00 00 00       	mov    $0x2,%edx
1404549ff:	48 8b cb             	mov    %rbx,%rcx
140454a02:	e8 f9 00 2e 00       	call   0x140734b00
140454a07:	48 8b 57 38          	mov    0x38(%rdi),%rdx
140454a0b:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140454a0f:	e8 6c 24 00 00       	call   0x140456e80
140454a14:	48 8b 08             	mov    (%rax),%rcx
140454a17:	4c 89 38             	mov    %r15,(%rax)
140454a1a:	48 89 4d 38          	mov    %rcx,0x38(%rbp)
140454a1e:	48 8b 08             	mov    (%rax),%rcx
140454a21:	48 85 c9             	test   %rcx,%rcx
140454a24:	74 24                	je     0x140454a4a
140454a26:	8b 41 10             	mov    0x10(%rcx),%eax
140454a29:	ff c8                	dec    %eax
140454a2b:	89 41 10             	mov    %eax,0x10(%rcx)
140454a2e:	85 c0                	test   %eax,%eax
140454a30:	7f 18                	jg     0x140454a4a
140454a32:	0f 88 0c 01 00 00    	js     0x140454b44
140454a38:	48 8b 01             	mov    (%rcx),%rax
140454a3b:	ba 01 00 00 00       	mov    $0x1,%edx
140454a40:	48 8b 00             	mov    (%rax),%rax
140454a43:	ff 15 d7 ef b2 00    	call   *0xb2efd7(%rip)        # 0x140f83a20
140454a49:	90                   	nop
140454a4a:	4c 8d 45 38          	lea    0x38(%rbp),%r8
140454a4e:	ba 03 00 00 00       	mov    $0x3,%edx
140454a53:	48 8b cb             	mov    %rbx,%rcx
140454a56:	e8 a5 00 2e 00       	call   0x140734b00
140454a5b:	44 8b 47 04          	mov    0x4(%rdi),%r8d
140454a5f:	48 8b 43 40          	mov    0x40(%rbx),%rax
140454a63:	48 8b 10             	mov    (%rax),%rdx
140454a66:	80 7a 48 00          	cmpb   $0x0,0x48(%rdx)
140454a6a:	75 04                	jne    0x140454a70
140454a6c:	c6 42 48 01          	movb   $0x1,0x48(%rdx)
140454a70:	4c 89 42 40          	mov    %r8,0x40(%rdx)
140454a74:	48 8d 53 20          	lea    0x20(%rbx),%rdx
140454a78:	48 83 7a 08 00       	cmpq   $0x0,0x8(%rdx)
140454a7d:	74 0c                	je     0x140454a8b
140454a7f:	48 8d 0d 5a bf fd 00 	lea    0xfdbf5a(%rip),%rcx        # 0x1414309e0
140454a86:	e8 b5 60 33 00       	call   0x14078ab40
140454a8b:	48 8d 45 38          	lea    0x38(%rbp),%rax
140454a8f:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
140454a93:	4c 89 7d e8          	mov    %r15,-0x18(%rbp)
140454a97:	48 89 5d 38          	mov    %rbx,0x38(%rbp)
140454a9b:	49 8b d6             	mov    %r14,%rdx
140454a9e:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
140454aa2:	e8 99 64 fe ff       	call   0x14043af40
140454aa7:	48 8b 08             	mov    (%rax),%rcx
140454aaa:	4c 89 38             	mov    %r15,(%rax)
140454aad:	48 89 4d e0          	mov    %rcx,-0x20(%rbp)
140454ab1:	48 8b 08             	mov    (%rax),%rcx
140454ab4:	48 85 c9             	test   %rcx,%rcx
140454ab7:	74 20                	je     0x140454ad9
140454ab9:	8b 41 10             	mov    0x10(%rcx),%eax
140454abc:	ff c8                	dec    %eax
140454abe:	89 41 10             	mov    %eax,0x10(%rcx)
140454ac1:	85 c0                	test   %eax,%eax
140454ac3:	7f 14                	jg     0x140454ad9
140454ac5:	78 49                	js     0x140454b10
140454ac7:	48 8b 01             	mov    (%rcx),%rax
140454aca:	ba 01 00 00 00       	mov    $0x1,%edx
140454acf:	48 8b 00             	mov    (%rax),%rax
140454ad2:	ff 15 48 ef b2 00    	call   *0xb2ef48(%rip)        # 0x140f83a20
140454ad8:	90                   	nop
140454ad9:	48 8b 8e b8 00 00 00 	mov    0xb8(%rsi),%rcx
140454ae0:	4c 8d 4d 38          	lea    0x38(%rbp),%r9
140454ae4:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
140454ae8:	48 8b 51 28          	mov    0x28(%rcx),%rdx
140454aec:	e8 0f 95 00 00       	call   0x14045e000
140454af1:	90                   	nop
140454af2:	b0 01                	mov    $0x1,%al
140454af4:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140454af9:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
140454afe:	48 8b bc 24 80 00 00 	mov    0x80(%rsp),%rdi
140454b05:	00
140454b06:	48 83 c4 50          	add    $0x50,%rsp
140454b0a:	41 5f                	pop    %r15
140454b0c:	41 5e                	pop    %r14
140454b0e:	5d                   	pop    %rbp
140454b0f:	c3                   	ret
140454b10:	b9 02 00 00 00       	mov    $0x2,%ecx
140454b15:	e8 e6 5b 33 00       	call   0x14078a700
140454b1a:	90                   	nop
140454b1b:	33 c9                	xor    %ecx,%ecx
140454b1d:	e8 de 5b 33 00       	call   0x14078a700
140454b22:	cc                   	int3
140454b23:	b9 01 00 00 00       	mov    $0x1,%ecx
140454b28:	e8 d3 5b 33 00       	call   0x14078a700
140454b2d:	90                   	nop
140454b2e:	b9 02 00 00 00       	mov    $0x2,%ecx
140454b33:	e8 c8 5b 33 00       	call   0x14078a700
140454b38:	90                   	nop
140454b39:	b9 02 00 00 00       	mov    $0x2,%ecx
140454b3e:	e8 bd 5b 33 00       	call   0x14078a700
140454b43:	90                   	nop
140454b44:	b9 02 00 00 00       	mov    $0x2,%ecx
140454b49:	e8 b2 5b 33 00       	call   0x14078a700
140454b4e:	cc                   	int3
140454b4f:	cc                   	int3
140454b50:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140454b55:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140454b5a:	56                   	push   %rsi
140454b5b:	57                   	push   %rdi
140454b5c:	41 56                	push   %r14
140454b5e:	48 83 ec 40          	sub    $0x40,%rsp
140454b62:	49 8b f0             	mov    %r8,%rsi
140454b65:	4c 8b f2             	mov    %rdx,%r14
140454b68:	48 8b e9             	mov    %rcx,%rbp
140454b6b:	48 8b 0d 36 33 fd 00 	mov    0xfd3336(%rip),%rcx        # 0x141427ea8
140454b72:	48 85 c9             	test   %rcx,%rcx
140454b75:	0f 84 3a 01 00 00    	je     0x140454cb5
140454b7b:	e8 b0 09 3c 00       	call   0x140815530
140454b80:	84 c0                	test   %al,%al
140454b82:	0f 84 2d 01 00 00    	je     0x140454cb5
140454b88:	b9 50 00 00 00       	mov    $0x50,%ecx
140454b8d:	e8 76 65 9c 00       	call   0x140e1b108
140454b92:	4c 8b c0             	mov    %rax,%r8
140454b95:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140454b9a:	48 85 c0             	test   %rax,%rax
140454b9d:	74 3f                	je     0x140454bde
140454b9f:	48 8b 0d d2 cd fd 00 	mov    0xfdcdd2(%rip),%rcx        # 0x141431978
140454ba6:	48 89 4c 24 78       	mov    %rcx,0x78(%rsp)
140454bab:	48 85 c9             	test   %rcx,%rcx
140454bae:	74 1c                	je     0x140454bcc
140454bb0:	8b 41 10             	mov    0x10(%rcx),%eax
140454bb3:	ff c0                	inc    %eax
140454bb5:	89 41 10             	mov    %eax,0x10(%rcx)
140454bb8:	83 f8 01             	cmp    $0x1,%eax
140454bbb:	0f 8e 14 01 00 00    	jle    0x140454cd5
140454bc1:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140454bc6:	0f 84 11 01 00 00    	je     0x140454cdd
140454bcc:	48 8d 54 24 78       	lea    0x78(%rsp),%rdx
140454bd1:	49 8b c8             	mov    %r8,%rcx
140454bd4:	e8 57 dc 2d 00       	call   0x140732830
140454bd9:	48 8b d8             	mov    %rax,%rbx
140454bdc:	eb 02                	jmp    0x140454be0
140454bde:	33 db                	xor    %ebx,%ebx
140454be0:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
140454be5:	33 ff                	xor    %edi,%edi
140454be7:	48 8b 46 20          	mov    0x20(%rsi),%rax
140454beb:	48 8b 10             	mov    (%rax),%rdx
140454bee:	48 8b 48 08          	mov    0x8(%rax),%rcx
140454bf2:	48 2b ca             	sub    %rdx,%rcx
140454bf5:	48 d1 f9             	sar    $1,%rcx
140454bf8:	74 44                	je     0x140454c3e
140454bfa:	45 33 c0             	xor    %r8d,%r8d
140454bfd:	0f 1f 00             	nopl   (%rax)
140454c00:	46 0f b7 04 42       	movzwl (%rdx,%r8,2),%r8d
140454c05:	48 8d 54 24 78       	lea    0x78(%rsp),%rdx
140454c0a:	48 8b 0d 67 e2 fd 00 	mov    0xfde267(%rip),%rcx        # 0x141432e78
140454c11:	e8 0a b3 d4 ff       	call   0x14019ff20
140454c16:	4c 8b c0             	mov    %rax,%r8
140454c19:	8b d7                	mov    %edi,%edx
140454c1b:	48 8b cb             	mov    %rbx,%rcx
140454c1e:	e8 dd 07 2e 00       	call   0x140735400
140454c23:	ff c7                	inc    %edi
140454c25:	48 8b 46 20          	mov    0x20(%rsi),%rax
140454c29:	48 8b 10             	mov    (%rax),%rdx
140454c2c:	44 8b c7             	mov    %edi,%r8d
140454c2f:	48 8b 48 08          	mov    0x8(%rax),%rcx
140454c33:	48 2b ca             	sub    %rdx,%rcx
140454c36:	48 d1 f9             	sar    $1,%rcx
140454c39:	4c 3b c1             	cmp    %rcx,%r8
140454c3c:	72 c2                	jb     0x140454c00
140454c3e:	48 8d 44 24 78       	lea    0x78(%rsp),%rax
140454c43:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140454c48:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140454c4f:	00 00
140454c51:	48 89 5c 24 78       	mov    %rbx,0x78(%rsp)
140454c56:	49 8b d6             	mov    %r14,%rdx
140454c59:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140454c5e:	e8 dd 62 fe ff       	call   0x14043af40
140454c63:	48 8b 08             	mov    (%rax),%rcx
140454c66:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
140454c6d:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140454c72:	48 8b 08             	mov    (%rax),%rcx
140454c75:	48 85 c9             	test   %rcx,%rcx
140454c78:	74 20                	je     0x140454c9a
140454c7a:	8b 41 10             	mov    0x10(%rcx),%eax
140454c7d:	ff c8                	dec    %eax
140454c7f:	89 41 10             	mov    %eax,0x10(%rcx)
140454c82:	85 c0                	test   %eax,%eax
140454c84:	7f 14                	jg     0x140454c9a
140454c86:	78 42                	js     0x140454cca
140454c88:	48 8b 01             	mov    (%rcx),%rax
140454c8b:	ba 01 00 00 00       	mov    $0x1,%edx
140454c90:	48 8b 00             	mov    (%rax),%rax
140454c93:	ff 15 87 ed b2 00    	call   *0xb2ed87(%rip)        # 0x140f83a20
140454c99:	90                   	nop
140454c9a:	48 8b 8d b8 00 00 00 	mov    0xb8(%rbp),%rcx
140454ca1:	4c 8d 4c 24 78       	lea    0x78(%rsp),%r9
140454ca6:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
140454cab:	48 8b 51 28          	mov    0x28(%rcx),%rdx
140454caf:	e8 0c 8a 00 00       	call   0x14045d6c0
140454cb4:	90                   	nop
140454cb5:	b0 01                	mov    $0x1,%al
140454cb7:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140454cbc:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140454cc1:	48 83 c4 40          	add    $0x40,%rsp
140454cc5:	41 5e                	pop    %r14
140454cc7:	5f                   	pop    %rdi
140454cc8:	5e                   	pop    %rsi
140454cc9:	c3                   	ret
140454cca:	b9 02 00 00 00       	mov    $0x2,%ecx
140454ccf:	e8 2c 5a 33 00       	call   0x14078a700
140454cd4:	90                   	nop
140454cd5:	33 c9                	xor    %ecx,%ecx
140454cd7:	e8 24 5a 33 00       	call   0x14078a700
140454cdc:	cc                   	int3
140454cdd:	b9 01 00 00 00       	mov    $0x1,%ecx
140454ce2:	e8 19 5a 33 00       	call   0x14078a700
140454ce7:	cc                   	int3
140454ce8:	cc                   	int3
140454ce9:	cc                   	int3
140454cea:	cc                   	int3
140454ceb:	cc                   	int3
140454cec:	cc                   	int3
140454ced:	cc                   	int3
140454cee:	cc                   	int3
140454cef:	cc                   	int3
140454cf0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140454cf5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140454cfa:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140454cff:	55                   	push   %rbp
140454d00:	41 54                	push   %r12
140454d02:	41 55                	push   %r13
140454d04:	41 56                	push   %r14
140454d06:	41 57                	push   %r15
140454d08:	48 8b ec             	mov    %rsp,%rbp
140454d0b:	48 83 ec 70          	sub    $0x70,%rsp
140454d0f:	0f 29 74 24 60       	movaps %xmm6,0x60(%rsp)
140454d14:	0f 29 7c 24 50       	movaps %xmm7,0x50(%rsp)
140454d19:	49 8b d8             	mov    %r8,%rbx
140454d1c:	4c 8b e2             	mov    %rdx,%r12
140454d1f:	4c 8b e9             	mov    %rcx,%r13
140454d22:	33 f6                	xor    %esi,%esi
140454d24:	48 8b 0d 85 31 fd 00 	mov    0xfd3185(%rip),%rcx        # 0x141427eb0
140454d2b:	48 85 c9             	test   %rcx,%rcx
140454d2e:	0f 84 51 04 00 00    	je     0x140455185
140454d34:	e8 f7 07 3c 00       	call   0x140815530
140454d39:	84 c0                	test   %al,%al
140454d3b:	0f 84 44 04 00 00    	je     0x140455185
140454d41:	b9 50 00 00 00       	mov    $0x50,%ecx
140454d46:	e8 bd 63 9c 00       	call   0x140e1b108
140454d4b:	4c 8b c8             	mov    %rax,%r9
140454d4e:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
140454d52:	48 85 c0             	test   %rax,%rax
140454d55:	74 40                	je     0x140454d97
140454d57:	48 8b 0d 5a 31 fd 00 	mov    0xfd315a(%rip),%rcx        # 0x141427eb8
140454d5e:	48 89 4d 48          	mov    %rcx,0x48(%rbp)
140454d62:	48 85 c9             	test   %rcx,%rcx
140454d65:	74 1c                	je     0x140454d83
140454d67:	8b 41 10             	mov    0x10(%rcx),%eax
140454d6a:	ff c0                	inc    %eax
140454d6c:	89 41 10             	mov    %eax,0x10(%rcx)
140454d6f:	83 f8 01             	cmp    $0x1,%eax
140454d72:	0f 8e 42 04 00 00    	jle    0x1404551ba
140454d78:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140454d7d:	0f 84 3f 04 00 00    	je     0x1404551c2
140454d83:	41 b0 01             	mov    $0x1,%r8b
140454d86:	48 8d 55 48          	lea    0x48(%rbp),%rdx
140454d8a:	49 8b c9             	mov    %r9,%rcx
140454d8d:	e8 2e cc 2d 00       	call   0x1407319c0
140454d92:	4c 8b f0             	mov    %rax,%r14
140454d95:	eb 03                	jmp    0x140454d9a
140454d97:	4c 8b f6             	mov    %rsi,%r14
140454d9a:	4c 89 75 c0          	mov    %r14,-0x40(%rbp)
140454d9e:	0f b7 53 04          	movzwl 0x4(%rbx),%edx
140454da2:	49 8b 46 40          	mov    0x40(%r14),%rax
140454da6:	48 8b 08             	mov    (%rax),%rcx
140454da9:	80 79 08 00          	cmpb   $0x0,0x8(%rcx)
140454dad:	75 04                	jne    0x140454db3
140454daf:	c6 41 08 01          	movb   $0x1,0x8(%rcx)
140454db3:	48 89 11             	mov    %rdx,(%rcx)
140454db6:	49 8d 56 20          	lea    0x20(%r14),%rdx
140454dba:	48 83 7a 08 00       	cmpq   $0x0,0x8(%rdx)
140454dbf:	74 0c                	je     0x140454dcd
140454dc1:	48 8d 0d 18 bc fd 00 	lea    0xfdbc18(%rip),%rcx        # 0x1414309e0
140454dc8:	e8 73 5d 33 00       	call   0x14078ab40
140454dcd:	0f b7 53 02          	movzwl 0x2(%rbx),%edx
140454dd1:	49 8b 46 40          	mov    0x40(%r14),%rax
140454dd5:	48 8b 08             	mov    (%rax),%rcx
140454dd8:	80 79 18 00          	cmpb   $0x0,0x18(%rcx)
140454ddc:	75 04                	jne    0x140454de2
140454dde:	c6 41 18 01          	movb   $0x1,0x18(%rcx)
140454de2:	48 89 51 10          	mov    %rdx,0x10(%rcx)
140454de6:	49 8d 56 20          	lea    0x20(%r14),%rdx
140454dea:	48 83 7a 08 00       	cmpq   $0x0,0x8(%rdx)
140454def:	74 0c                	je     0x140454dfd
140454df1:	48 8d 0d e8 bb fd 00 	lea    0xfdbbe8(%rip),%rcx        # 0x1414309e0
140454df8:	e8 43 5d 33 00       	call   0x14078ab40
140454dfd:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140454e01:	48 8d 4d b0          	lea    -0x50(%rbp),%rcx
140454e05:	e8 86 60 fe ff       	call   0x14043ae90
140454e0a:	48 8b 08             	mov    (%rax),%rcx
140454e0d:	48 89 30             	mov    %rsi,(%rax)
140454e10:	48 89 4d 48          	mov    %rcx,0x48(%rbp)
140454e14:	48 8b 08             	mov    (%rax),%rcx
140454e17:	48 85 c9             	test   %rcx,%rcx
140454e1a:	74 24                	je     0x140454e40
140454e1c:	8b 41 10             	mov    0x10(%rcx),%eax
140454e1f:	ff c8                	dec    %eax
140454e21:	89 41 10             	mov    %eax,0x10(%rcx)
140454e24:	85 c0                	test   %eax,%eax
140454e26:	7f 18                	jg     0x140454e40
140454e28:	0f 88 9f 03 00 00    	js     0x1404551cd
140454e2e:	48 8b 01             	mov    (%rcx),%rax
140454e31:	ba 01 00 00 00       	mov    $0x1,%edx
140454e36:	48 8b 00             	mov    (%rax),%rax
140454e39:	ff 15 e1 eb b2 00    	call   *0xb2ebe1(%rip)        # 0x140f83a20
140454e3f:	90                   	nop
140454e40:	4c 8d 45 48          	lea    0x48(%rbp),%r8
140454e44:	ba 02 00 00 00       	mov    $0x2,%edx
140454e49:	49 8b ce             	mov    %r14,%rcx
140454e4c:	e8 af fc 2d 00       	call   0x140734b00
140454e51:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
140454e55:	0f 57 c0             	xorps  %xmm0,%xmm0
140454e58:	48 85 c9             	test   %rcx,%rcx
140454e5b:	78 07                	js     0x140454e64
140454e5d:	f2 48 0f 2a c1       	cvtsi2sd %rcx,%xmm0
140454e62:	eb 15                	jmp    0x140454e79
140454e64:	48 8b c1             	mov    %rcx,%rax
140454e67:	48 d1 e8             	shr    $1,%rax
140454e6a:	83 e1 01             	and    $0x1,%ecx
140454e6d:	48 0b c1             	or     %rcx,%rax
140454e70:	f2 48 0f 2a c0       	cvtsi2sd %rax,%xmm0
140454e75:	f2 0f 58 c0          	addsd  %xmm0,%xmm0
140454e79:	f2 0f 10 35 ff 25 ba 	movsd  0xba25ff(%rip),%xmm6        # 0x140ff7480
140454e80:	00
140454e81:	f2 0f 5e c6          	divsd  %xmm6,%xmm0
140454e85:	f2 0f 10 3d fb 25 ba 	movsd  0xba25fb(%rip),%xmm7        # 0x140ff7488