140747b3e:	48 85 ff             	test   %rdi,%rdi
140747b41:	0f 84 66 03 00 00    	je     0x140747ead
140747b47:	49 8d 57 40          	lea    0x40(%r15),%rdx
140747b4b:	4c 39 32             	cmp    %r14,(%rdx)
140747b4e:	74 1d                	je     0x140747b6d
140747b50:	48 8b cf             	mov    %rdi,%rcx
140747b53:	e8 68 de 0b 00       	call   0x1408059c0
140747b58:	84 c0                	test   %al,%al
140747b5a:	0f 85 4d 03 00 00    	jne    0x140747ead
140747b60:	41 c7 47 18 16 00 00 	movl   $0x16,0x18(%r15)
140747b67:	00
140747b68:	e9 40 03 00 00       	jmp    0x140747ead
140747b6d:	48 8b 7f 20          	mov    0x20(%rdi),%rdi
140747b71:	48 63 47 18          	movslq 0x18(%rdi),%rax
140747b75:	83 f8 10             	cmp    $0x10,%eax
140747b78:	74 2f                	je     0x140747ba9
140747b7a:	83 f8 17             	cmp    $0x17,%eax
140747b7d:	7c 09                	jl     0x140747b88
140747b7f:	4c 8d 05 e2 c7 8d 00 	lea    0x8dc7e2(%rip),%r8        # 0x141024368
140747b86:	eb 0b                	jmp    0x140747b93
140747b88:	4c 8d 05 d1 c6 8d 00 	lea    0x8dc6d1(%rip),%r8        # 0x141024260
140747b8f:	4d 8b 04 c0          	mov    (%r8,%rax,8),%r8
140747b93:	4c 8b 0d 46 c7 8d 00 	mov    0x8dc746(%rip),%r9        # 0x1410242e0
140747b9a:	48 8d 15 e7 c7 8d 00 	lea    0x8dc7e7(%rip),%rdx        # 0x141024388
140747ba1:	48 8b cf             	mov    %rdi,%rcx
140747ba4:	e8 77 23 04 00       	call   0x140789f20
140747ba9:	48 8b 57 48          	mov    0x48(%rdi),%rdx
140747bad:	48 8b 47 50          	mov    0x50(%rdi),%rax
140747bb1:	48 2b c2             	sub    %rdx,%rax
140747bb4:	48 c1 f8 03          	sar    $0x3,%rax
140747bb8:	48 83 f8 01          	cmp    $0x1,%rax
140747bbc:	73 27                	jae    0x140747be5
140747bbe:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140747bc3:	45 33 c9             	xor    %r9d,%r9d
140747bc6:	45 33 c0             	xor    %r8d,%r8d
140747bc9:	48 8d 15 d8 c9 8d 00 	lea    0x8dc9d8(%rip),%rdx        # 0x1410245a8
140747bd0:	49 8b cf             	mov    %r15,%rcx
140747bd3:	e8 e8 26 04 00       	call   0x14078a2c0
140747bd8:	41 c7 47 18 16 00 00 	movl   $0x16,0x18(%r15)
140747bdf:	00
140747be0:	e9 c8 02 00 00       	jmp    0x140747ead
140747be5:	0f 85 29 01 00 00    	jne    0x140747d14
140747beb:	48 8b 3a             	mov    (%rdx),%rdi
140747bee:	83 7f 18 10          	cmpl   $0x10,0x18(%rdi)
140747bf2:	75 66                	jne    0x140747c5a
140747bf4:	48 8b 47 40          	mov    0x40(%rdi),%rax
140747bf8:	48 85 c0             	test   %rax,%rax
140747bfb:	74 05                	je     0x140747c02
140747bfd:	48 8b f8             	mov    %rax,%rdi
140747c00:	eb 58                	jmp    0x140747c5a
140747c02:	4c 8b 77 50          	mov    0x50(%rdi),%r14
140747c06:	4c 8b 67 48          	mov    0x48(%rdi),%r12
140747c0a:	49 8b c6             	mov    %r14,%rax
140747c0d:	49 2b c4             	sub    %r12,%rax
140747c10:	48 c1 f8 03          	sar    $0x3,%rax
140747c14:	48 85 c0             	test   %rax,%rax
140747c17:	0f 84 0f 03 00 00    	je     0x140747f2c
140747c1d:	48 83 f8 01          	cmp    $0x1,%rax
140747c21:	74 30                	je     0x140747c53
140747c23:	49 8b 34 24          	mov    (%r12),%rsi
140747c27:	49 8b dc             	mov    %r12,%rbx
140747c2a:	4d 3b e6             	cmp    %r14,%r12
140747c2d:	74 24                	je     0x140747c53
140747c2f:	90                   	nop
140747c30:	48 8b 0b             	mov    (%rbx),%rcx
140747c33:	48 3b ce             	cmp    %rsi,%rcx
140747c36:	74 12                	je     0x140747c4a
140747c38:	41 b1 01             	mov    $0x1,%r9b
140747c3b:	45 33 c0             	xor    %r8d,%r8d
140747c3e:	48 8b d6             	mov    %rsi,%rdx
140747c41:	e8 ba b9 00 00       	call   0x140753600
140747c46:	84 c0                	test   %al,%al
140747c48:	74 0d                	je     0x140747c57
140747c4a:	48 83 c3 08          	add    $0x8,%rbx
140747c4e:	49 3b de             	cmp    %r14,%rbx
140747c51:	75 dd                	jne    0x140747c30
140747c53:	49 8b 3c 24          	mov    (%r12),%rdi
140747c57:	45 33 f6             	xor    %r14d,%r14d
140747c5a:	48 89 7d e8          	mov    %rdi,-0x18(%rbp)
140747c5e:	48 85 ff             	test   %rdi,%rdi
140747c61:	74 1c                	je     0x140747c7f
140747c63:	8b 47 10             	mov    0x10(%rdi),%eax
140747c66:	ff c0                	inc    %eax
140747c68:	89 47 10             	mov    %eax,0x10(%rdi)
140747c6b:	83 f8 01             	cmp    $0x1,%eax
140747c6e:	0f 8e cc 02 00 00    	jle    0x140747f40
140747c74:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140747c79:	0f 84 c9 02 00 00    	je     0x140747f48
140747c7f:	b9 60 00 00 00       	mov    $0x60,%ecx
140747c84:	e8 7f 34 6d 00       	call   0x140e1b108
140747c89:	48 8b c8             	mov    %rax,%rcx
140747c8c:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
140747c90:	48 85 c0             	test   %rax,%rax
140747c93:	74 30                	je     0x140747cc5
140747c95:	48 89 7d 60          	mov    %rdi,0x60(%rbp)
140747c99:	48 85 ff             	test   %rdi,%rdi
140747c9c:	74 1c                	je     0x140747cba
140747c9e:	8b 47 10             	mov    0x10(%rdi),%eax
140747ca1:	ff c0                	inc    %eax
140747ca3:	89 47 10             	mov    %eax,0x10(%rdi)
140747ca6:	83 f8 01             	cmp    $0x1,%eax
140747ca9:	0f 8e a4 02 00 00    	jle    0x140747f53
140747caf:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140747cb4:	0f 84 a1 02 00 00    	je     0x140747f5b
140747cba:	48 8d 55 60          	lea    0x60(%rbp),%rdx
140747cbe:	e8 9d 0d e3 ff       	call   0x140578a60
140747cc3:	eb 03                	jmp    0x140747cc8
140747cc5:	49 8b c6             	mov    %r14,%rax
140747cc8:	49 8b 4f 40          	mov    0x40(%r15),%rcx
140747ccc:	49 89 47 40          	mov    %rax,0x40(%r15)
140747cd0:	48 85 c9             	test   %rcx,%rcx
140747cd3:	74 24                	je     0x140747cf9
140747cd5:	8b 41 10             	mov    0x10(%rcx),%eax
140747cd8:	ff c8                	dec    %eax
140747cda:	89 41 10             	mov    %eax,0x10(%rcx)
140747cdd:	85 c0                	test   %eax,%eax
140747cdf:	7f 18                	jg     0x140747cf9
140747ce1:	0f 88 7f 02 00 00    	js     0x140747f66
140747ce7:	48 8b 01             	mov    (%rcx),%rax
140747cea:	ba 01 00 00 00       	mov    $0x1,%edx
140747cef:	48 8b 00             	mov    (%rax),%rax
140747cf2:	ff 15 28 bd 83 00    	call   *0x83bd28(%rip)        # 0x140f83a20
140747cf8:	90                   	nop
140747cf9:	4c 89 75 e8          	mov    %r14,-0x18(%rbp)
140747cfd:	48 89 7d 60          	mov    %rdi,0x60(%rbp)
140747d01:	48 8d 55 60          	lea    0x60(%rbp),%rdx
140747d05:	49 8b 4f 40          	mov    0x40(%r15),%rcx
140747d09:	e8 52 25 00 00       	call   0x14074a260
140747d0e:	90                   	nop
140747d0f:	e9 95 01 00 00       	jmp    0x140747ea9
140747d14:	4c 8d 42 08          	lea    0x8(%rdx),%r8
140747d18:	48 8d 4d 60          	lea    0x60(%rbp),%rcx
140747d1c:	e8 5f b3 00 00       	call   0x140753080
140747d21:	90                   	nop
140747d22:	bb 02 00 00 00       	mov    $0x2,%ebx
140747d27:	48 83 7d 60 00       	cmpq   $0x0,0x60(%rbp)
140747d2c:	74 70                	je     0x140747d9e
140747d2e:	66 90                	xchg   %ax,%ax
140747d30:	48 8b 4f 48          	mov    0x48(%rdi),%rcx
140747d34:	48 8b 47 50          	mov    0x50(%rdi),%rax
140747d38:	48 2b c1             	sub    %rcx,%rax
140747d3b:	48 c1 f8 03          	sar    $0x3,%rax
140747d3f:	48 3b d8             	cmp    %rax,%rbx
140747d42:	0f 83 99 00 00 00    	jae    0x140747de1
140747d48:	4c 8d 04 d9          	lea    (%rcx,%rbx,8),%r8
140747d4c:	48 8d 55 60          	lea    0x60(%rbp),%rdx
140747d50:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
140747d54:	e8 27 b3 00 00       	call   0x140753080
140747d59:	48 8b 55 60          	mov    0x60(%rbp),%rdx
140747d5d:	48 8b 08             	mov    (%rax),%rcx
140747d60:	48 89 4d 60          	mov    %rcx,0x60(%rbp)
140747d64:	48 89 10             	mov    %rdx,(%rax)
140747d67:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
140747d6b:	48 85 c9             	test   %rcx,%rcx
140747d6e:	74 24                	je     0x140747d94
140747d70:	8b 41 10             	mov    0x10(%rcx),%eax
140747d73:	ff c8                	dec    %eax
140747d75:	89 41 10             	mov    %eax,0x10(%rcx)
140747d78:	85 c0                	test   %eax,%eax
140747d7a:	7f 18                	jg     0x140747d94
140747d7c:	0f 88 ef 01 00 00    	js     0x140747f71
140747d82:	48 8b 01             	mov    (%rcx),%rax
140747d85:	ba 01 00 00 00       	mov    $0x1,%edx
140747d8a:	48 8b 00             	mov    (%rax),%rax
140747d8d:	ff 15 8d bc 83 00    	call   *0x83bc8d(%rip)        # 0x140f83a20
140747d93:	90                   	nop
140747d94:	48 ff c3             	inc    %rbx
140747d97:	48 83 7d 60 00       	cmpq   $0x0,0x60(%rbp)
140747d9c:	75 92                	jne    0x140747d30
140747d9e:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140747da3:	45 33 c9             	xor    %r9d,%r9d
140747da6:	45 33 c0             	xor    %r8d,%r8d
140747da9:	48 8d 15 10 c8 8d 00 	lea    0x8dc810(%rip),%rdx        # 0x1410245c0
140747db0:	49 8b cf             	mov    %r15,%rcx
140747db3:	e8 08 25 04 00       	call   0x14078a2c0
140747db8:	90                   	nop
140747db9:	48 8b 4d 60          	mov    0x60(%rbp),%rcx
140747dbd:	48 85 c9             	test   %rcx,%rcx
140747dc0:	0f 84 e3 00 00 00    	je     0x140747ea9
140747dc6:	8b 41 10             	mov    0x10(%rcx),%eax
140747dc9:	ff c8                	dec    %eax
140747dcb:	89 41 10             	mov    %eax,0x10(%rcx)
140747dce:	85 c0                	test   %eax,%eax
140747dd0:	0f 8f d3 00 00 00    	jg     0x140747ea9
140747dd6:	0f 88 45 01 00 00    	js     0x140747f21
140747ddc:	e9 b6 00 00 00       	jmp    0x140747e97
140747de1:	b9 60 00 00 00       	mov    $0x60,%ecx
140747de6:	e8 1d 33 6d 00       	call   0x140e1b108
140747deb:	4c 8b c0             	mov    %rax,%r8
140747dee:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
140747df2:	48 85 c0             	test   %rax,%rax
140747df5:	74 37                	je     0x140747e2e
140747df7:	48 8b 4d 60          	mov    0x60(%rbp),%rcx
140747dfb:	48 89 4d e8          	mov    %rcx,-0x18(%rbp)
140747dff:	48 85 c9             	test   %rcx,%rcx
140747e02:	74 1c                	je     0x140747e20
140747e04:	8b 41 10             	mov    0x10(%rcx),%eax
140747e07:	ff c0                	inc    %eax
140747e09:	89 41 10             	mov    %eax,0x10(%rcx)
140747e0c:	83 f8 01             	cmp    $0x1,%eax
140747e0f:	0f 8e 67 01 00 00    	jle    0x140747f7c
140747e15:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140747e1a:	0f 84 64 01 00 00    	je     0x140747f84
140747e20:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
140747e24:	49 8b c8             	mov    %r8,%rcx
140747e27:	e8 34 0c e3 ff       	call   0x140578a60
140747e2c:	eb 03                	jmp    0x140747e31
140747e2e:	49 8b c6             	mov    %r14,%rax
140747e31:	49 8b 4f 40          	mov    0x40(%r15),%rcx
140747e35:	49 89 47 40          	mov    %rax,0x40(%r15)
140747e39:	48 85 c9             	test   %rcx,%rcx
140747e3c:	74 24                	je     0x140747e62
140747e3e:	8b 41 10             	mov    0x10(%rcx),%eax
140747e41:	ff c8                	dec    %eax
140747e43:	89 41 10             	mov    %eax,0x10(%rcx)
140747e46:	85 c0                	test   %eax,%eax
140747e48:	7f 18                	jg     0x140747e62
140747e4a:	0f 88 3f 01 00 00    	js     0x140747f8f
140747e50:	48 8b 01             	mov    (%rcx),%rax
140747e53:	ba 01 00 00 00       	mov    $0x1,%edx
140747e58:	48 8b 00             	mov    (%rax),%rax
140747e5b:	ff 15 bf bb 83 00    	call   *0x83bbbf(%rip)        # 0x140f83a20
140747e61:	90                   	nop
140747e62:	48 8b 45 60          	mov    0x60(%rbp),%rax
140747e66:	4c 89 75 60          	mov    %r14,0x60(%rbp)
140747e6a:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
140747e6e:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
140747e72:	49 8b 4f 40          	mov    0x40(%r15),%rcx
140747e76:	e8 e5 23 00 00       	call   0x14074a260
140747e7b:	90                   	nop
140747e7c:	48 8b 4d 60          	mov    0x60(%rbp),%rcx
140747e80:	48 85 c9             	test   %rcx,%rcx
140747e83:	74 24                	je     0x140747ea9
140747e85:	8b 41 10             	mov    0x10(%rcx),%eax
140747e88:	ff c8                	dec    %eax
140747e8a:	89 41 10             	mov    %eax,0x10(%rcx)
140747e8d:	85 c0                	test   %eax,%eax
140747e8f:	7f 18                	jg     0x140747ea9
140747e91:	0f 88 03 01 00 00    	js     0x140747f9a
140747e97:	48 8b 01             	mov    (%rcx),%rax
140747e9a:	ba 01 00 00 00       	mov    $0x1,%edx
140747e9f:	48 8b 00             	mov    (%rax),%rax
140747ea2:	ff 15 78 bb 83 00    	call   *0x83bb78(%rip)        # 0x140f83a20
140747ea8:	90                   	nop
140747ea9:	48 8b 5d 58          	mov    0x58(%rbp),%rbx
140747ead:	49 8b 4d 00          	mov    0x0(%r13),%rcx
140747eb1:	48 85 c9             	test   %rcx,%rcx
140747eb4:	74 24                	je     0x140747eda
140747eb6:	8b 41 10             	mov    0x10(%rcx),%eax
140747eb9:	ff c8                	dec    %eax
140747ebb:	89 41 10             	mov    %eax,0x10(%rcx)
140747ebe:	85 c0                	test   %eax,%eax
140747ec0:	7f 18                	jg     0x140747eda
140747ec2:	0f 88 dd 00 00 00    	js     0x140747fa5
140747ec8:	48 8b 01             	mov    (%rcx),%rax
140747ecb:	ba 01 00 00 00       	mov    $0x1,%edx
140747ed0:	48 8b 00             	mov    (%rax),%rax
140747ed3:	ff 15 47 bb 83 00    	call   *0x83bb47(%rip)        # 0x140f83a20
140747ed9:	90                   	nop
140747eda:	48 8b 0b             	mov    (%rbx),%rcx
140747edd:	48 85 c9             	test   %rcx,%rcx
140747ee0:	74 20                	je     0x140747f02
140747ee2:	8b 41 10             	mov    0x10(%rcx),%eax
140747ee5:	ff c8                	dec    %eax
140747ee7:	89 41 10             	mov    %eax,0x10(%rcx)
140747eea:	85 c0                	test   %eax,%eax
140747eec:	7f 14                	jg     0x140747f02
140747eee:	78 26                	js     0x140747f16
140747ef0:	48 8b 01             	mov    (%rcx),%rax
140747ef3:	ba 01 00 00 00       	mov    $0x1,%edx
140747ef8:	48 8b 00             	mov    (%rax),%rax
140747efb:	ff 15 1f bb 83 00    	call   *0x83bb1f(%rip)        # 0x140f83a20
140747f01:	90                   	nop
140747f02:	49 8b c7             	mov    %r15,%rax
140747f05:	48 83 c4 48          	add    $0x48,%rsp
140747f09:	41 5f                	pop    %r15
140747f0b:	41 5e                	pop    %r14
140747f0d:	41 5d                	pop    %r13
140747f0f:	41 5c                	pop    %r12
140747f11:	5f                   	pop    %rdi
140747f12:	5e                   	pop    %rsi
140747f13:	5b                   	pop    %rbx
140747f14:	5d                   	pop    %rbp
140747f15:	c3                   	ret
140747f16:	b9 02 00 00 00       	mov    $0x2,%ecx
140747f1b:	e8 e0 27 04 00       	call   0x14078a700
140747f20:	90                   	nop
140747f21:	b9 02 00 00 00       	mov    $0x2,%ecx
140747f26:	e8 d5 27 04 00       	call   0x14078a700
140747f2b:	90                   	nop
140747f2c:	48 8d 15 3d ca 8d 00 	lea    0x8dca3d(%rip),%rdx        # 0x141024970
140747f33:	48 8b 0d be 95 ce 00 	mov    0xce95be(%rip),%rcx        # 0x1414314f8
140747f3a:	e8 d1 bc 04 00       	call   0x140793c10
140747f3f:	90                   	nop
140747f40:	33 c9                	xor    %ecx,%ecx
140747f42:	e8 b9 27 04 00       	call   0x14078a700
140747f47:	cc                   	int3
140747f48:	b9 01 00 00 00       	mov    $0x1,%ecx
140747f4d:	e8 ae 27 04 00       	call   0x14078a700
140747f52:	90                   	nop
140747f53:	33 c9                	xor    %ecx,%ecx
140747f55:	e8 a6 27 04 00       	call   0x14078a700
140747f5a:	cc                   	int3
140747f5b:	b9 01 00 00 00       	mov    $0x1,%ecx
140747f60:	e8 9b 27 04 00       	call   0x14078a700
140747f65:	90                   	nop
140747f66:	b9 02 00 00 00       	mov    $0x2,%ecx
140747f6b:	e8 90 27 04 00       	call   0x14078a700
140747f70:	90                   	nop
140747f71:	b9 02 00 00 00       	mov    $0x2,%ecx
140747f76:	e8 85 27 04 00       	call   0x14078a700
140747f7b:	90                   	nop
140747f7c:	33 c9                	xor    %ecx,%ecx
140747f7e:	e8 7d 27 04 00       	call   0x14078a700
140747f83:	cc                   	int3
140747f84:	b9 01 00 00 00       	mov    $0x1,%ecx
140747f89:	e8 72 27 04 00       	call   0x14078a700
140747f8e:	90                   	nop
140747f8f:	b9 02 00 00 00       	mov    $0x2,%ecx
140747f94:	e8 67 27 04 00       	call   0x14078a700
140747f99:	90                   	nop
140747f9a:	b9 02 00 00 00       	mov    $0x2,%ecx
140747f9f:	e8 5c 27 04 00       	call   0x14078a700
140747fa4:	90                   	nop
140747fa5:	b9 02 00 00 00       	mov    $0x2,%ecx
140747faa:	e8 51 27 04 00       	call   0x14078a700
140747faf:	cc                   	int3
140747fb0:	4c 8b dc             	mov    %rsp,%r11
140747fb3:	4d 89 43 18          	mov    %r8,0x18(%r11)
140747fb7:	49 89 53 10          	mov    %rdx,0x10(%r11)
140747fbb:	49 89 4b 08          	mov    %rcx,0x8(%r11)
140747fbf:	53                   	push   %rbx
140747fc0:	55                   	push   %rbp
140747fc1:	56                   	push   %rsi
140747fc2:	57                   	push   %rdi
140747fc3:	41 56                	push   %r14
140747fc5:	41 57                	push   %r15
140747fc7:	48 83 ec 58          	sub    $0x58,%rsp
140747fcb:	4d 8b f8             	mov    %r8,%r15
140747fce:	4c 8b f2             	mov    %rdx,%r14
140747fd1:	48 8b f9             	mov    %rcx,%rdi
140747fd4:	49 8b 00             	mov    (%r8),%rax
140747fd7:	33 ed                	xor    %ebp,%ebp
140747fd9:	49 89 28             	mov    %rbp,(%r8)
140747fdc:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140747fe1:	49 8d 4b a8          	lea    -0x58(%r11),%rcx
140747fe5:	49 89 4b b8          	mov    %rcx,-0x48(%r11)
140747fe9:	48 8b 32             	mov    (%rdx),%rsi
140747fec:	48 89 2a             	mov    %rbp,(%rdx)
140747fef:	49 89 73 20          	mov    %rsi,0x20(%r11)