140138ad1:	83 f8 01             	cmp    $0x1,%eax
140138ad4:	75 5b                	jne    0x140138b31
140138ad6:	4c 8b 41 10          	mov    0x10(%rcx),%r8
140138ada:	48 c7 41 20 04 00 00 	movq   $0x4,0x20(%rcx)
140138ae1:	00
140138ae2:	4d 85 c0             	test   %r8,%r8
140138ae5:	74 40                	je     0x140138b27
140138ae7:	48 8b 41 18          	mov    0x18(%rcx),%rax
140138aeb:	48 83 f8 04          	cmp    $0x4,%rax
140138aef:	74 33                	je     0x140138b24
140138af1:	48 83 f8 08          	cmp    $0x8,%rax
140138af5:	74 15                	je     0x140138b0c
140138af7:	41 b8 04 00 00 00    	mov    $0x4,%r8d
140138afd:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140138b02:	e8 79 06 00 00       	call   0x140139180
140138b07:	48 83 c4 28          	add    $0x28,%rsp
140138b0b:	c3                   	ret
140138b0c:	48 63 c2             	movslq %edx,%rax
140138b0f:	48 c7 41 20 08 00 00 	movq   $0x8,0x20(%rcx)
140138b16:	00
140138b17:	49 89 00             	mov    %rax,(%r8)
140138b1a:	b8 01 00 00 00       	mov    $0x1,%eax
140138b1f:	48 83 c4 28          	add    $0x28,%rsp
140138b23:	c3                   	ret
140138b24:	41 89 10             	mov    %edx,(%r8)
140138b27:	b8 01 00 00 00       	mov    $0x1,%eax
140138b2c:	48 83 c4 28          	add    $0x28,%rsp
140138b30:	c3                   	ret
140138b31:	83 f8 02             	cmp    $0x2,%eax
140138b34:	75 0b                	jne    0x140138b41
140138b36:	85 d2                	test   %edx,%edx
140138b38:	79 9c                	jns    0x140138ad6
140138b3a:	33 c0                	xor    %eax,%eax
140138b3c:	48 83 c4 28          	add    $0x28,%rsp
140138b40:	c3                   	ret
140138b41:	83 f8 03             	cmp    $0x3,%eax
140138b44:	75 f4                	jne    0x140138b3a
140138b46:	48 8b 41 10          	mov    0x10(%rcx),%rax
140138b4a:	48 c7 41 20 08 00 00 	movq   $0x8,0x20(%rcx)
140138b51:	00
140138b52:	48 85 c0             	test   %rax,%rax
140138b55:	74 d0                	je     0x140138b27
140138b57:	48 83 79 18 08       	cmpq   $0x8,0x18(%rcx)
140138b5c:	75 dc                	jne    0x140138b3a
140138b5e:	66 0f 6e c2          	movd   %edx,%xmm0
140138b62:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
140138b66:	f2 0f 11 00          	movsd  %xmm0,(%rax)
140138b6a:	b8 01 00 00 00       	mov    $0x1,%eax
140138b6f:	48 83 c4 28          	add    $0x28,%rsp
140138b73:	c3                   	ret
140138b74:	cc                   	int3
140138b75:	cc                   	int3
140138b76:	cc                   	int3
140138b77:	cc                   	int3
140138b78:	cc                   	int3
140138b79:	cc                   	int3
140138b7a:	cc                   	int3
140138b7b:	cc                   	int3
140138b7c:	cc                   	int3
140138b7d:	cc                   	int3
140138b7e:	cc                   	int3
140138b7f:	cc                   	int3
140138b80:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140138b85:	b8 28 00 00 00       	mov    $0x28,%eax
140138b8a:	e8 a1 7f 17 00       	call   0x1402b0b30
140138b8f:	48 2b e0             	sub    %rax,%rsp
140138b92:	4c 8b ca             	mov    %rdx,%r9
140138b95:	48 85 c9             	test   %rcx,%rcx
140138b98:	0f 84 27 01 00 00    	je     0x140138cc5
140138b9e:	8b 41 08             	mov    0x8(%rcx),%eax
140138ba1:	48 c7 41 20 00 00 00 	movq   $0x0,0x20(%rcx)
140138ba8:	00
140138ba9:	83 f8 01             	cmp    $0x1,%eax
140138bac:	75 6f                	jne    0x140138c1d
140138bae:	48 8b 51 10          	mov    0x10(%rcx),%rdx
140138bb2:	48 c7 41 20 08 00 00 	movq   $0x8,0x20(%rcx)
140138bb9:	00
140138bba:	48 85 d2             	test   %rdx,%rdx
140138bbd:	74 54                	je     0x140138c13
140138bbf:	48 8b 41 18          	mov    0x18(%rcx),%rax
140138bc3:	48 83 f8 04          	cmp    $0x4,%rax
140138bc7:	74 28                	je     0x140138bf1
140138bc9:	48 83 f8 08          	cmp    $0x8,%rax
140138bcd:	74 15                	je     0x140138be4
140138bcf:	41 b8 08 00 00 00    	mov    $0x8,%r8d
140138bd5:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140138bda:	e8 a1 05 00 00       	call   0x140139180
140138bdf:	48 83 c4 28          	add    $0x28,%rsp
140138be3:	c3                   	ret
140138be4:	4c 89 0a             	mov    %r9,(%rdx)
140138be7:	b8 01 00 00 00       	mov    $0x1,%eax
140138bec:	48 83 c4 28          	add    $0x28,%rsp
140138bf0:	c3                   	ret
140138bf1:	b8 00 00 00 80       	mov    $0x80000000,%eax
140138bf6:	41 b8 ff ff ff ff    	mov    $0xffffffff,%r8d
140138bfc:	49 03 c1             	add    %r9,%rax
140138bff:	49 3b c0             	cmp    %r8,%rax
140138c02:	0f 87 bd 00 00 00    	ja     0x140138cc5
140138c08:	48 c7 41 20 04 00 00 	movq   $0x4,0x20(%rcx)
140138c0f:	00
140138c10:	44 89 0a             	mov    %r9d,(%rdx)
140138c13:	b8 01 00 00 00       	mov    $0x1,%eax
140138c18:	48 83 c4 28          	add    $0x28,%rsp
140138c1c:	c3                   	ret
140138c1d:	83 f8 02             	cmp    $0x2,%eax
140138c20:	75 55                	jne    0x140138c77
140138c22:	4d 85 c9             	test   %r9,%r9
140138c25:	0f 88 9a 00 00 00    	js     0x140138cc5
140138c2b:	48 8b 41 10          	mov    0x10(%rcx),%rax
140138c2f:	48 c7 41 20 08 00 00 	movq   $0x8,0x20(%rcx)
140138c36:	00
140138c37:	48 85 c0             	test   %rax,%rax
140138c3a:	74 d7                	je     0x140138c13
140138c3c:	48 8b 51 18          	mov    0x18(%rcx),%rdx
140138c40:	48 83 fa 04          	cmp    $0x4,%rdx
140138c44:	74 11                	je     0x140138c57
140138c46:	48 83 fa 08          	cmp    $0x8,%rdx
140138c4a:	75 83                	jne    0x140138bcf
140138c4c:	4c 89 08             	mov    %r9,(%rax)
140138c4f:	8d 42 f9             	lea    -0x7(%rdx),%eax
140138c52:	48 83 c4 28          	add    $0x28,%rsp
140138c56:	c3                   	ret
140138c57:	41 b8 ff ff ff ff    	mov    $0xffffffff,%r8d
140138c5d:	4d 3b c8             	cmp    %r8,%r9
140138c60:	7f 63                	jg     0x140138cc5
140138c62:	48 c7 41 20 04 00 00 	movq   $0x4,0x20(%rcx)
140138c69:	00
140138c6a:	44 89 08             	mov    %r9d,(%rax)
140138c6d:	b8 01 00 00 00       	mov    $0x1,%eax
140138c72:	48 83 c4 28          	add    $0x28,%rsp
140138c76:	c3                   	ret
140138c77:	83 f8 03             	cmp    $0x3,%eax
140138c7a:	75 49                	jne    0x140138cc5
140138c7c:	4c 8b 41 10          	mov    0x10(%rcx),%r8
140138c80:	48 c7 41 20 08 00 00 	movq   $0x8,0x20(%rcx)
140138c87:	00
140138c88:	4d 85 c0             	test   %r8,%r8
140138c8b:	74 86                	je     0x140138c13
140138c8d:	48 83 79 18 08       	cmpq   $0x8,0x18(%rcx)
140138c92:	75 31                	jne    0x140138cc5
140138c94:	49 8b c1             	mov    %r9,%rax
140138c97:	48 b9 00 00 00 00 00 	movabs $0x20000000000000,%rcx
140138c9e:	00 20 00
140138ca1:	48 99                	cqto
140138ca3:	48 33 c2             	xor    %rdx,%rax
140138ca6:	48 2b c2             	sub    %rdx,%rax
140138ca9:	48 3b c1             	cmp    %rcx,%rax
140138cac:	73 17                	jae    0x140138cc5
140138cae:	0f 57 c0             	xorps  %xmm0,%xmm0
140138cb1:	b8 01 00 00 00       	mov    $0x1,%eax
140138cb6:	f2 49 0f 2a c1       	cvtsi2sd %r9,%xmm0
140138cbb:	f2 41 0f 11 00       	movsd  %xmm0,(%r8)
140138cc0:	48 83 c4 28          	add    $0x28,%rsp
140138cc4:	c3                   	ret
140138cc5:	33 c0                	xor    %eax,%eax
140138cc7:	48 83 c4 28          	add    $0x28,%rsp
140138ccb:	c3                   	ret
140138ccc:	cc                   	int3
140138ccd:	cc                   	int3
140138cce:	cc                   	int3
140138ccf:	cc                   	int3
140138cd0:	48 85 c9             	test   %rcx,%rcx
140138cd3:	74 0a                	je     0x140138cdf
140138cd5:	83 79 08 07          	cmpl   $0x7,0x8(%rcx)
140138cd9:	4c 89 41 20          	mov    %r8,0x20(%rcx)
140138cdd:	74 03                	je     0x140138ce2
140138cdf:	33 c0                	xor    %eax,%eax
140138ce1:	c3                   	ret
140138ce2:	48 8b 41 10          	mov    0x10(%rcx),%rax
140138ce6:	48 85 c0             	test   %rax,%rax
140138ce9:	74 03                	je     0x140138cee
140138ceb:	48 89 10             	mov    %rdx,(%rax)
140138cee:	b8 01 00 00 00       	mov    $0x1,%eax
140138cf3:	c3                   	ret
140138cf4:	cc                   	int3
140138cf5:	cc                   	int3
140138cf6:	cc                   	int3
140138cf7:	cc                   	int3
140138cf8:	cc                   	int3
140138cf9:	cc                   	int3
140138cfa:	cc                   	int3
140138cfb:	cc                   	int3
140138cfc:	cc                   	int3
140138cfd:	cc                   	int3
140138cfe:	cc                   	int3
140138cff:	cc                   	int3
140138d00:	b8 28 00 00 00       	mov    $0x28,%eax
140138d05:	e8 26 7e 17 00       	call   0x1402b0b30
140138d0a:	48 2b e0             	sub    %rax,%rsp
140138d0d:	48 85 c9             	test   %rcx,%rcx
140138d10:	74 36                	je     0x140138d48
140138d12:	33 c0                	xor    %eax,%eax
140138d14:	48 89 41 20          	mov    %rax,0x20(%rcx)
140138d18:	48 85 d2             	test   %rdx,%rdx
140138d1b:	74 2b                	je     0x140138d48
140138d1d:	4c 8b 49 10          	mov    0x10(%rcx),%r9
140138d21:	4c 89 41 20          	mov    %r8,0x20(%rcx)
140138d25:	4d 85 c9             	test   %r9,%r9
140138d28:	74 14                	je     0x140138d3e
140138d2a:	83 79 08 05          	cmpl   $0x5,0x8(%rcx)
140138d2e:	75 1a                	jne    0x140138d4a
140138d30:	4c 39 41 18          	cmp    %r8,0x18(%rcx)
140138d34:	72 14                	jb     0x140138d4a
140138d36:	49 8b c9             	mov    %r9,%rcx
140138d39:	e8 22 86 1a 00       	call   0x1402e1360
140138d3e:	b8 01 00 00 00       	mov    $0x1,%eax
140138d43:	48 83 c4 28          	add    $0x28,%rsp
140138d47:	c3                   	ret
140138d48:	33 c0                	xor    %eax,%eax
140138d4a:	48 83 c4 28          	add    $0x28,%rsp
140138d4e:	c3                   	ret
140138d4f:	cc                   	int3
140138d50:	b8 28 00 00 00       	mov    $0x28,%eax
140138d55:	e8 d6 7d 17 00       	call   0x1402b0b30
140138d5a:	48 2b e0             	sub    %rax,%rsp
140138d5d:	48 83 c4 28          	add    $0x28,%rsp
140138d61:	e9 3a 01 00 00       	jmp    0x140138ea0
140138d66:	cc                   	int3
140138d67:	cc                   	int3
140138d68:	cc                   	int3
140138d69:	cc                   	int3
140138d6a:	cc                   	int3
140138d6b:	cc                   	int3
140138d6c:	cc                   	int3
140138d6d:	cc                   	int3
140138d6e:	cc                   	int3
140138d6f:	cc                   	int3
140138d70:	b8 28 00 00 00       	mov    $0x28,%eax
140138d75:	e8 b6 7d 17 00       	call   0x1402b0b30
140138d7a:	48 2b e0             	sub    %rax,%rsp
140138d7d:	48 83 c4 28          	add    $0x28,%rsp
140138d81:	e9 fa fd ff ff       	jmp    0x140138b80
140138d86:	cc                   	int3
140138d87:	cc                   	int3
140138d88:	cc                   	int3
140138d89:	cc                   	int3
140138d8a:	cc                   	int3
140138d8b:	cc                   	int3
140138d8c:	cc                   	int3
140138d8d:	cc                   	int3
140138d8e:	cc                   	int3
140138d8f:	cc                   	int3
140138d90:	b8 28 00 00 00       	mov    $0x28,%eax
140138d95:	e8 96 7d 17 00       	call   0x1402b0b30
140138d9a:	48 2b e0             	sub    %rax,%rsp
140138d9d:	48 83 c4 28          	add    $0x28,%rsp
140138da1:	e9 0a 00 00 00       	jmp    0x140138db0
140138da6:	cc                   	int3
140138da7:	cc                   	int3
140138da8:	cc                   	int3
140138da9:	cc                   	int3
140138daa:	cc                   	int3
140138dab:	cc                   	int3
140138dac:	cc                   	int3
140138dad:	cc                   	int3
140138dae:	cc                   	int3
140138daf:	cc                   	int3
140138db0:	89 54 24 10          	mov    %edx,0x10(%rsp)
140138db4:	b8 28 00 00 00       	mov    $0x28,%eax
140138db9:	e8 72 7d 17 00       	call   0x1402b0b30
140138dbe:	48 2b e0             	sub    %rax,%rsp
140138dc1:	48 85 c9             	test   %rcx,%rcx
140138dc4:	0f 84 c8 00 00 00    	je     0x140138e92
140138dca:	8b 41 08             	mov    0x8(%rcx),%eax
140138dcd:	48 c7 41 20 00 00 00 	movq   $0x0,0x20(%rcx)
140138dd4:	00
140138dd5:	83 f8 02             	cmp    $0x2,%eax
140138dd8:	75 4d                	jne    0x140138e27
140138dda:	4c 8b 41 10          	mov    0x10(%rcx),%r8
140138dde:	48 c7 41 20 04 00 00 	movq   $0x4,0x20(%rcx)
140138de5:	00
140138de6:	4d 85 c0             	test   %r8,%r8
140138de9:	74 32                	je     0x140138e1d
140138deb:	48 8b 41 18          	mov    0x18(%rcx),%rax
140138def:	48 83 f8 04          	cmp    $0x4,%rax
140138df3:	74 5a                	je     0x140138e4f
140138df5:	48 83 f8 08          	cmp    $0x8,%rax
140138df9:	74 15                	je     0x140138e10
140138dfb:	41 b8 04 00 00 00    	mov    $0x4,%r8d
140138e01:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140138e06:	e8 f5 03 00 00       	call   0x140139200
140138e0b:	48 83 c4 28          	add    $0x28,%rsp
140138e0f:	c3                   	ret
140138e10:	8b c2                	mov    %edx,%eax
140138e12:	48 c7 41 20 08 00 00 	movq   $0x8,0x20(%rcx)
140138e19:	00
140138e1a:	49 89 00             	mov    %rax,(%r8)
140138e1d:	b8 01 00 00 00       	mov    $0x1,%eax
140138e22:	48 83 c4 28          	add    $0x28,%rsp
140138e26:	c3                   	ret
140138e27:	83 f8 01             	cmp    $0x1,%eax
140138e2a:	75 30                	jne    0x140138e5c
140138e2c:	4c 8b 41 10          	mov    0x10(%rcx),%r8
140138e30:	48 c7 41 20 04 00 00 	movq   $0x4,0x20(%rcx)
140138e37:	00
140138e38:	4d 85 c0             	test   %r8,%r8
140138e3b:	74 e0                	je     0x140138e1d
140138e3d:	48 8b 41 18          	mov    0x18(%rcx),%rax
140138e41:	48 83 f8 04          	cmp    $0x4,%rax
140138e45:	75 ae                	jne    0x140138df5
140138e47:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
140138e4d:	77 43                	ja     0x140138e92
140138e4f:	41 89 10             	mov    %edx,(%r8)
140138e52:	b8 01 00 00 00       	mov    $0x1,%eax
140138e57:	48 83 c4 28          	add    $0x28,%rsp
140138e5b:	c3                   	ret
140138e5c:	83 f8 03             	cmp    $0x3,%eax
140138e5f:	75 31                	jne    0x140138e92
140138e61:	4c 8b 41 10          	mov    0x10(%rcx),%r8
140138e65:	48 c7 41 20 08 00 00 	movq   $0x8,0x20(%rcx)
140138e6c:	00
140138e6d:	4d 85 c0             	test   %r8,%r8
140138e70:	74 ab                	je     0x140138e1d
140138e72:	48 83 79 18 08       	cmpq   $0x8,0x18(%rcx)
140138e77:	75 19                	jne    0x140138e92
140138e79:	8b c2                	mov    %edx,%eax
140138e7b:	0f 57 c0             	xorps  %xmm0,%xmm0
140138e7e:	f2 48 0f 2a c0       	cvtsi2sd %rax,%xmm0
140138e83:	b8 01 00 00 00       	mov    $0x1,%eax
140138e88:	f2 41 0f 11 00       	movsd  %xmm0,(%r8)
140138e8d:	48 83 c4 28          	add    $0x28,%rsp
140138e91:	c3                   	ret
140138e92:	33 c0                	xor    %eax,%eax
140138e94:	48 83 c4 28          	add    $0x28,%rsp
140138e98:	c3                   	ret
140138e99:	cc                   	int3
140138e9a:	cc                   	int3
140138e9b:	cc                   	int3
140138e9c:	cc                   	int3
140138e9d:	cc                   	int3
140138e9e:	cc                   	int3
140138e9f:	cc                   	int3
140138ea0:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140138ea5:	b8 28 00 00 00       	mov    $0x28,%eax
140138eaa:	e8 81 7c 17 00       	call   0x1402b0b30
140138eaf:	48 2b e0             	sub    %rax,%rsp
140138eb2:	48 85 c9             	test   %rcx,%rcx
140138eb5:	0f 84 29 01 00 00    	je     0x140138fe4
140138ebb:	8b 41 08             	mov    0x8(%rcx),%eax
140138ebe:	48 c7 41 20 00 00 00 	movq   $0x0,0x20(%rcx)
140138ec5:	00
140138ec6:	83 f8 02             	cmp    $0x2,%eax
140138ec9:	75 66                	jne    0x140138f31
140138ecb:	48 8b 41 10          	mov    0x10(%rcx),%rax
140138ecf:	48 c7 41 20 08 00 00 	movq   $0x8,0x20(%rcx)
140138ed6:	00
140138ed7:	48 85 c0             	test   %rax,%rax
140138eda:	74 4b                	je     0x140138f27
140138edc:	4c 8b 41 18          	mov    0x18(%rcx),%r8
140138ee0:	49 83 f8 04          	cmp    $0x4,%r8