140737c02:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
140737c07:	e8 74 4e c5 ff       	call   0x14038ca80
140737c0c:	90                   	nop
140737c0d:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
140737c12:	48 8b d7             	mov    %rdi,%rdx
140737c15:	48 8b cb             	mov    %rbx,%rcx
140737c18:	e8 e3 fd ff ff       	call   0x140737a00
140737c1d:	90                   	nop
140737c1e:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
140737c23:	48 85 c9             	test   %rcx,%rcx
140737c26:	74 40                	je     0x140737c68
140737c28:	48 8b 54 24 58       	mov    0x58(%rsp),%rdx
140737c2d:	48 2b d1             	sub    %rcx,%rdx
140737c30:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
140737c34:	48 8b c1             	mov    %rcx,%rax
140737c37:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140737c3e:	72 15                	jb     0x140737c55
140737c40:	48 83 c2 27          	add    $0x27,%rdx
140737c44:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140737c48:	48 2b c1             	sub    %rcx,%rax
140737c4b:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140737c4f:	48 83 f8 1f          	cmp    $0x1f,%rax
140737c53:	77 64                	ja     0x140737cb9
140737c55:	e8 ea 34 6e 00       	call   0x140e1b144
140737c5a:	48 89 74 24 48       	mov    %rsi,0x48(%rsp)
140737c5f:	0f 57 c0             	xorps  %xmm0,%xmm0
140737c62:	66 0f 7f 44 24 50    	movdqa %xmm0,0x50(%rsp)
140737c68:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140737c6d:	48 8b 41 08          	mov    0x8(%rcx),%rax
140737c71:	48 89 30             	mov    %rsi,(%rax)
140737c74:	48 8b 09             	mov    (%rcx),%rcx
140737c77:	48 85 c9             	test   %rcx,%rcx
140737c7a:	74 19                	je     0x140737c95
140737c7c:	0f 1f 40 00          	nopl   0x0(%rax)
140737c80:	48 8b 19             	mov    (%rcx),%rbx
140737c83:	ba 20 00 00 00       	mov    $0x20,%edx
140737c88:	e8 b7 34 6e 00       	call   0x140e1b144
140737c8d:	48 8b cb             	mov    %rbx,%rcx
140737c90:	48 85 db             	test   %rbx,%rbx
140737c93:	75 eb                	jne    0x140737c80
140737c95:	ba 20 00 00 00       	mov    $0x20,%edx
140737c9a:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140737c9f:	e8 a0 34 6e 00       	call   0x140e1b144
140737ca4:	48 8b c7             	mov    %rdi,%rax
140737ca7:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
140737cac:	49 8b 5b 10          	mov    0x10(%r11),%rbx
140737cb0:	49 8b 73 18          	mov    0x18(%r11),%rsi
140737cb4:	49 8b e3             	mov    %r11,%rsp
140737cb7:	5f                   	pop    %rdi
140737cb8:	c3                   	ret
140737cb9:	e8 e6 24 6f 00       	call   0x140e2a1a4
140737cbe:	cc                   	int3
140737cbf:	cc                   	int3
140737cc0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140737cc5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140737cca:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140737ccf:	56                   	push   %rsi
140737cd0:	57                   	push   %rdi
140737cd1:	41 54                	push   %r12
140737cd3:	41 56                	push   %r14
140737cd5:	41 57                	push   %r15
140737cd7:	48 83 ec 30          	sub    $0x30,%rsp
140737cdb:	45 0f b6 e1          	movzbl %r9b,%r12d
140737cdf:	4d 8b f0             	mov    %r8,%r14
140737ce2:	4c 8b fa             	mov    %rdx,%r15
140737ce5:	48 8b d9             	mov    %rcx,%rbx
140737ce8:	49 8b 38             	mov    (%r8),%rdi
140737ceb:	48 85 ff             	test   %rdi,%rdi
140737cee:	74 1c                	je     0x140737d0c
140737cf0:	8b 47 10             	mov    0x10(%rdi),%eax
140737cf3:	ff c0                	inc    %eax
140737cf5:	89 47 10             	mov    %eax,0x10(%rdi)
140737cf8:	83 f8 01             	cmp    $0x1,%eax
140737cfb:	0f 8e 18 01 00 00    	jle    0x140737e19
140737d01:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140737d06:	0f 84 15 01 00 00    	je     0x140737e21
140737d0c:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
140737d11:	48 8b 49 18          	mov    0x18(%rcx),%rcx
140737d15:	48 3b cf             	cmp    %rdi,%rcx
140737d18:	75 05                	jne    0x140737d1f
140737d1a:	40 b5 01             	mov    $0x1,%bpl
140737d1d:	eb 11                	jmp    0x140737d30
140737d1f:	41 b1 01             	mov    $0x1,%r9b
140737d22:	45 33 c0             	xor    %r8d,%r8d
140737d25:	48 8b d7             	mov    %rdi,%rdx
140737d28:	e8 d3 b8 01 00       	call   0x140753600
140737d2d:	0f b6 e8             	movzbl %al,%ebp
140737d30:	48 85 ff             	test   %rdi,%rdi
140737d33:	74 27                	je     0x140737d5c
140737d35:	8b 4f 10             	mov    0x10(%rdi),%ecx
140737d38:	ff c9                	dec    %ecx
140737d3a:	89 4f 10             	mov    %ecx,0x10(%rdi)
140737d3d:	85 c9                	test   %ecx,%ecx
140737d3f:	7f 1b                	jg     0x140737d5c
140737d41:	0f 88 e5 00 00 00    	js     0x140737e2c
140737d47:	48 8b 07             	mov    (%rdi),%rax
140737d4a:	ba 01 00 00 00       	mov    $0x1,%edx
140737d4f:	48 8b cf             	mov    %rdi,%rcx
140737d52:	48 8b 00             	mov    (%rax),%rax
140737d55:	ff 15 c5 bc 84 00    	call   *0x84bcc5(%rip)        # 0x140f83a20
140737d5b:	90                   	nop
140737d5c:	40 84 ed             	test   %bpl,%bpl
140737d5f:	74 3c                	je     0x140737d9d
140737d61:	49 89 1f             	mov    %rbx,(%r15)
140737d64:	48 85 db             	test   %rbx,%rbx
140737d67:	74 1c                	je     0x140737d85
140737d69:	8b 43 10             	mov    0x10(%rbx),%eax
140737d6c:	ff c0                	inc    %eax
140737d6e:	89 43 10             	mov    %eax,0x10(%rbx)
140737d71:	83 f8 01             	cmp    $0x1,%eax
140737d74:	0f 8e bd 00 00 00    	jle    0x140737e37
140737d7a:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140737d7f:	0f 84 ba 00 00 00    	je     0x140737e3f
140737d85:	49 8b 0e             	mov    (%r14),%rcx
140737d88:	48 85 c9             	test   %rcx,%rcx
140737d8b:	74 5c                	je     0x140737de9
140737d8d:	8b 41 10             	mov    0x10(%rcx),%eax
140737d90:	ff c8                	dec    %eax
140737d92:	89 41 10             	mov    %eax,0x10(%rcx)
140737d95:	85 c0                	test   %eax,%eax
140737d97:	7f 50                	jg     0x140737de9
140737d99:	78 73                	js     0x140737e0e
140737d9b:	eb 3a                	jmp    0x140737dd7
140737d9d:	49 8b 06             	mov    (%r14),%rax
140737da0:	49 c7 06 00 00 00 00 	movq   $0x0,(%r14)
140737da7:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140737dac:	45 0f b6 cc          	movzbl %r12b,%r9d
140737db0:	4c 8d 44 24 28       	lea    0x28(%rsp),%r8
140737db5:	49 8b d7             	mov    %r15,%rdx
140737db8:	48 8b cb             	mov    %rbx,%rcx
140737dbb:	e8 a0 35 00 00       	call   0x14073b360
140737dc0:	90                   	nop
140737dc1:	49 8b 0e             	mov    (%r14),%rcx
140737dc4:	48 85 c9             	test   %rcx,%rcx
140737dc7:	74 20                	je     0x140737de9
140737dc9:	8b 41 10             	mov    0x10(%rcx),%eax
140737dcc:	ff c8                	dec    %eax
140737dce:	89 41 10             	mov    %eax,0x10(%rcx)
140737dd1:	85 c0                	test   %eax,%eax
140737dd3:	7f 14                	jg     0x140737de9
140737dd5:	78 2c                	js     0x140737e03
140737dd7:	48 8b 01             	mov    (%rcx),%rax
140737dda:	ba 01 00 00 00       	mov    $0x1,%edx
140737ddf:	48 8b 00             	mov    (%rax),%rax
140737de2:	ff 15 38 bc 84 00    	call   *0x84bc38(%rip)        # 0x140f83a20
140737de8:	90                   	nop
140737de9:	49 8b c7             	mov    %r15,%rax
140737dec:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140737df1:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140737df6:	48 83 c4 30          	add    $0x30,%rsp
140737dfa:	41 5f                	pop    %r15
140737dfc:	41 5e                	pop    %r14
140737dfe:	41 5c                	pop    %r12
140737e00:	5f                   	pop    %rdi
140737e01:	5e                   	pop    %rsi
140737e02:	c3                   	ret
140737e03:	b9 02 00 00 00       	mov    $0x2,%ecx
140737e08:	e8 f3 28 05 00       	call   0x14078a700
140737e0d:	90                   	nop
140737e0e:	b9 02 00 00 00       	mov    $0x2,%ecx
140737e13:	e8 e8 28 05 00       	call   0x14078a700
140737e18:	90                   	nop
140737e19:	33 c9                	xor    %ecx,%ecx
140737e1b:	e8 e0 28 05 00       	call   0x14078a700
140737e20:	cc                   	int3
140737e21:	b9 01 00 00 00       	mov    $0x1,%ecx
140737e26:	e8 d5 28 05 00       	call   0x14078a700
140737e2b:	90                   	nop
140737e2c:	b9 02 00 00 00       	mov    $0x2,%ecx
140737e31:	e8 ca 28 05 00       	call   0x14078a700
140737e36:	90                   	nop
140737e37:	33 c9                	xor    %ecx,%ecx
140737e39:	e8 c2 28 05 00       	call   0x14078a700
140737e3e:	cc                   	int3
140737e3f:	b9 01 00 00 00       	mov    $0x1,%ecx
140737e44:	e8 b7 28 05 00       	call   0x14078a700
140737e49:	cc                   	int3
140737e4a:	cc                   	int3
140737e4b:	cc                   	int3
140737e4c:	cc                   	int3
140737e4d:	cc                   	int3
140737e4e:	cc                   	int3
140737e4f:	cc                   	int3
140737e50:	48 83 ec 28          	sub    $0x28,%rsp
140737e54:	48 8b 41 18          	mov    0x18(%rcx),%rax
140737e58:	0f b7 50 1c          	movzwl 0x1c(%rax),%edx
140737e5c:	66 83 fa 03          	cmp    $0x3,%dx
140737e60:	75 0a                	jne    0x140737e6c
140737e62:	f2 0f 10 41 20       	movsd  0x20(%rcx),%xmm0
140737e67:	48 83 c4 28          	add    $0x28,%rsp
140737e6b:	c3                   	ret
140737e6c:	66 83 fa 01          	cmp    $0x1,%dx
140737e70:	75 0e                	jne    0x140737e80
140737e72:	0f 57 c0             	xorps  %xmm0,%xmm0
140737e75:	f2 48 0f 2a 41 20    	cvtsi2sdq 0x20(%rcx),%xmm0
140737e7b:	48 83 c4 28          	add    $0x28,%rsp
140737e7f:	c3                   	ret
140737e80:	66 83 fa 02          	cmp    $0x2,%dx
140737e84:	75 30                	jne    0x140737eb6
140737e86:	48 8b 49 20          	mov    0x20(%rcx),%rcx
140737e8a:	0f 57 c0             	xorps  %xmm0,%xmm0
140737e8d:	48 85 c9             	test   %rcx,%rcx
140737e90:	78 0a                	js     0x140737e9c
140737e92:	f2 48 0f 2a c1       	cvtsi2sd %rcx,%xmm0
140737e97:	48 83 c4 28          	add    $0x28,%rsp
140737e9b:	c3                   	ret
140737e9c:	48 8b c1             	mov    %rcx,%rax
140737e9f:	83 e1 01             	and    $0x1,%ecx
140737ea2:	48 d1 e8             	shr    $1,%rax
140737ea5:	48 0b c1             	or     %rcx,%rax
140737ea8:	f2 48 0f 2a c0       	cvtsi2sd %rax,%xmm0
140737ead:	f2 0f 58 c0          	addsd  %xmm0,%xmm0
140737eb1:	48 83 c4 28          	add    $0x28,%rsp
140737eb5:	c3                   	ret
140737eb6:	48 8d 15 2b b7 8e 00 	lea    0x8eb72b(%rip),%rdx        # 0x1410235e8
140737ebd:	e8 8e 25 05 00       	call   0x14078a450
140737ec2:	0f 57 c0             	xorps  %xmm0,%xmm0
140737ec5:	48 83 c4 28          	add    $0x28,%rsp
140737ec9:	c3                   	ret
140737eca:	cc                   	int3
140737ecb:	cc                   	int3
140737ecc:	cc                   	int3
140737ecd:	cc                   	int3
140737ece:	cc                   	int3
140737ecf:	cc                   	int3
140737ed0:	48 83 ec 28          	sub    $0x28,%rsp
140737ed4:	48 8b 41 18          	mov    0x18(%rcx),%rax
140737ed8:	0f b7 50 1c          	movzwl 0x1c(%rax),%edx
140737edc:	8d 42 ff             	lea    -0x1(%rdx),%eax
140737edf:	66 83 f8 01          	cmp    $0x1,%ax
140737ee3:	77 09                	ja     0x140737eee
140737ee5:	48 8b 41 20          	mov    0x20(%rcx),%rax
140737ee9:	48 83 c4 28          	add    $0x28,%rsp
140737eed:	c3                   	ret
140737eee:	66 83 fa 03          	cmp    $0x3,%dx
140737ef2:	75 0b                	jne    0x140737eff
140737ef4:	f2 48 0f 2c 41 20    	cvttsd2si 0x20(%rcx),%rax
140737efa:	48 83 c4 28          	add    $0x28,%rsp
140737efe:	c3                   	ret
140737eff:	48 8d 15 9a b6 8e 00 	lea    0x8eb69a(%rip),%rdx        # 0x1410235a0
140737f06:	e8 45 25 05 00       	call   0x14078a450
140737f0b:	33 c0                	xor    %eax,%eax
140737f0d:	48 83 c4 28          	add    $0x28,%rsp
140737f11:	c3                   	ret
140737f12:	cc                   	int3
140737f13:	cc                   	int3
140737f14:	cc                   	int3
140737f15:	cc                   	int3
140737f16:	cc                   	int3
140737f17:	cc                   	int3
140737f18:	cc                   	int3
140737f19:	cc                   	int3
140737f1a:	cc                   	int3
140737f1b:	cc                   	int3
140737f1c:	cc                   	int3
140737f1d:	cc                   	int3
140737f1e:	cc                   	int3
140737f1f:	cc                   	int3
140737f20:	48 83 ec 28          	sub    $0x28,%rsp
140737f24:	48 8b 41 18          	mov    0x18(%rcx),%rax
140737f28:	0f b7 50 1c          	movzwl 0x1c(%rax),%edx
140737f2c:	8d 42 ff             	lea    -0x1(%rdx),%eax
140737f2f:	66 83 f8 01          	cmp    $0x1,%ax
140737f33:	77 09                	ja     0x140737f3e
140737f35:	48 8b 41 20          	mov    0x20(%rcx),%rax
140737f39:	48 83 c4 28          	add    $0x28,%rsp
140737f3d:	c3                   	ret
140737f3e:	66 83 fa 03          	cmp    $0x3,%dx
140737f42:	75 39                	jne    0x140737f7d
140737f44:	f2 0f 10 41 20       	movsd  0x20(%rcx),%xmm0
140737f49:	33 d2                	xor    %edx,%edx
140737f4b:	f2 0f 10 0d 05 69 87 	movsd  0x876905(%rip),%xmm1        # 0x140fae858
140737f52:	00
140737f53:	66 0f 2f c1          	comisd %xmm1,%xmm0
140737f57:	72 17                	jb     0x140737f70
140737f59:	f2 0f 5c c1          	subsd  %xmm1,%xmm0
140737f5d:	66 0f 2f c1          	comisd %xmm1,%xmm0
140737f61:	73 0d                	jae    0x140737f70
140737f63:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140737f6a:	00 00 80
140737f6d:	48 8b d0             	mov    %rax,%rdx
140737f70:	f2 48 0f 2c c0       	cvttsd2si %xmm0,%rax
140737f75:	48 03 c2             	add    %rdx,%rax
140737f78:	48 83 c4 28          	add    $0x28,%rsp
140737f7c:	c3                   	ret
140737f7d:	48 8d 15 3c b6 8e 00 	lea    0x8eb63c(%rip),%rdx        # 0x1410235c0
140737f84:	e8 c7 24 05 00       	call   0x14078a450
140737f89:	33 c0                	xor    %eax,%eax
140737f8b:	48 83 c4 28          	add    $0x28,%rsp
140737f8f:	c3                   	ret
140737f90:	40 55                	rex push %rbp
140737f92:	56                   	push   %rsi
140737f93:	41 54                	push   %r12
140737f95:	41 56                	push   %r14
140737f97:	48 83 ec 38          	sub    $0x38,%rsp
140737f9b:	4c 8b 61 28          	mov    0x28(%rcx),%r12
140737f9f:	48 8b ea             	mov    %rdx,%rbp
140737fa2:	48 8b 71 20          	mov    0x20(%rcx),%rsi
140737fa6:	4d 8b f4             	mov    %r12,%r14
140737fa9:	4c 2b f6             	sub    %rsi,%r14
140737fac:	49 c1 fe 03          	sar    $0x3,%r14
140737fb0:	49 3b f4             	cmp    %r12,%rsi
140737fb3:	0f 84 a0 02 00 00    	je     0x140738259
140737fb9:	48 89 5c 24 68       	mov    %rbx,0x68(%rsp)
140737fbe:	49 b9 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%r9
140737fc5:	9c f2 cb
140737fc8:	4c 89 6c 24 78       	mov    %r13,0x78(%rsp)
140737fcd:	49 bd b3 01 00 00 00 	movabs $0x100000001b3,%r13
140737fd4:	01 00 00
140737fd7:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
140737fdc:	48 89 7c 24 70       	mov    %rdi,0x70(%rsp)
140737fe1:	48 8b 1e             	mov    (%rsi),%rbx
140737fe4:	44 0f b6 c3          	movzbl %bl,%r8d
140737fe8:	48 8b 43 18          	mov    0x18(%rbx),%rax
140737fec:	8b 48 18             	mov    0x18(%rax),%ecx
140737fef:	83 f9 13             	cmp    $0x13,%ecx
140737ff2:	74 12                	je     0x140738006
140737ff4:	83 f9 0e             	cmp    $0xe,%ecx
140737ff7:	74 0d                	je     0x140738006
140737ff9:	83 f9 0f             	cmp    $0xf,%ecx
140737ffc:	74 08                	je     0x140738006
140737ffe:	40 32 ff             	xor    %dil,%dil
140738001:	e9 e4 00 00 00       	jmp    0x1407380ea
140738006:	48 8b c3             	mov    %rbx,%rax
140738009:	40 b7 01             	mov    $0x1,%dil
14073800c:	48 c1 e8 08          	shr    $0x8,%rax
140738010:	0f b6 d0             	movzbl %al,%edx
140738013:	41 0f b6 c0          	movzbl %r8b,%eax
140738017:	49 33 c1             	xor    %r9,%rax
14073801a:	49 0f af c5          	imul   %r13,%rax
14073801e:	48 33 d0             	xor    %rax,%rdx
140738021:	48 8b c3             	mov    %rbx,%rax
140738024:	49 0f af d5          	imul   %r13,%rdx
140738028:	48 c1 e8 10          	shr    $0x10,%rax
14073802c:	0f b6 c8             	movzbl %al,%ecx
14073802f:	48 8b c3             	mov    %rbx,%rax
140738032:	48 33 d1             	xor    %rcx,%rdx
140738035:	48 c1 e8 18          	shr    $0x18,%rax
140738039:	49 0f af d5          	imul   %r13,%rdx
14073803d:	0f b6 c8             	movzbl %al,%ecx
140738040:	48 8b c3             	mov    %rbx,%rax
140738043:	48 33 d1             	xor    %rcx,%rdx
140738046:	48 c1 e8 20          	shr    $0x20,%rax
14073804a:	49 0f af d5          	imul   %r13,%rdx
14073804e:	0f b6 c8             	movzbl %al,%ecx
140738051:	48 8b c3             	mov    %rbx,%rax
140738054:	48 33 d1             	xor    %rcx,%rdx
140738057:	48 c1 e8 28          	shr    $0x28,%rax
14073805b:	49 0f af d5          	imul   %r13,%rdx
14073805f:	0f b6 c8             	movzbl %al,%ecx