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
140738062:	48 8b c3             	mov    %rbx,%rax
140738065:	48 33 d1             	xor    %rcx,%rdx
140738068:	48 c1 e8 30          	shr    $0x30,%rax
14073806c:	49 0f af d5          	imul   %r13,%rdx
140738070:	0f b6 c8             	movzbl %al,%ecx
140738073:	48 8b c3             	mov    %rbx,%rax
140738076:	48 33 d1             	xor    %rcx,%rdx
140738079:	48 c1 e8 38          	shr    $0x38,%rax
14073807d:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
140738081:	49 0f af d5          	imul   %r13,%rdx
140738085:	48 33 d0             	xor    %rax,%rdx
140738088:	49 0f af d5          	imul   %r13,%rdx
14073808c:	48 23 ca             	and    %rdx,%rcx
14073808f:	48 c1 e1 04          	shl    $0x4,%rcx
140738093:	48 03 4d 18          	add    0x18(%rbp),%rcx
140738097:	48 8b 41 08          	mov    0x8(%rcx),%rax
14073809b:	48 3b 45 08          	cmp    0x8(%rbp),%rax
14073809f:	74 20                	je     0x1407380c1
1407380a1:	48 8b 09             	mov    (%rcx),%rcx
1407380a4:	48 3b 58 10          	cmp    0x10(%rax),%rbx
1407380a8:	74 19                	je     0x1407380c3
1407380aa:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1407380b0:	48 3b c1             	cmp    %rcx,%rax
1407380b3:	74 0c                	je     0x1407380c1
1407380b5:	48 8b 40 08          	mov    0x8(%rax),%rax
1407380b9:	48 3b 58 10          	cmp    0x10(%rax),%rbx
1407380bd:	75 f1                	jne    0x1407380b0
1407380bf:	eb 02                	jmp    0x1407380c3
1407380c1:	33 c0                	xor    %eax,%eax
1407380c3:	48 85 c0             	test   %rax,%rax
1407380c6:	74 0b                	je     0x1407380d3
1407380c8:	41 bf 01 00 00 00    	mov    $0x1,%r15d
1407380ce:	e9 62 01 00 00       	jmp    0x140738235
1407380d3:	4c 8d 44 24 60       	lea    0x60(%rsp),%r8
1407380d8:	48 89 5c 24 60       	mov    %rbx,0x60(%rsp)
1407380dd:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1407380e2:	48 8b cd             	mov    %rbp,%rcx
1407380e5:	e8 86 05 f2 ff       	call   0x140658670
1407380ea:	48 8b 03             	mov    (%rbx),%rax
1407380ed:	48 8b d5             	mov    %rbp,%rdx
1407380f0:	48 8b cb             	mov    %rbx,%rcx
1407380f3:	48 8b 40 68          	mov    0x68(%rax),%rax
1407380f7:	ff 15 23 b9 84 00    	call   *0x84b923(%rip)        # 0x140f83a20
1407380fd:	44 8b f8             	mov    %eax,%r15d
140738100:	40 84 ff             	test   %dil,%dil
140738103:	0f 84 22 01 00 00    	je     0x14073822b
140738109:	4c 8b 5d 18          	mov    0x18(%rbp),%r11
14073810d:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
140738114:	9c f2 cb
140738117:	4c 8b 4d 08          	mov    0x8(%rbp),%r9
14073811b:	44 0f b6 c3          	movzbl %bl,%r8d
14073811f:	4c 33 c0             	xor    %rax,%r8
140738122:	48 8b c3             	mov    %rbx,%rax
140738125:	4d 0f af c5          	imul   %r13,%r8
140738129:	48 c1 e8 08          	shr    $0x8,%rax
14073812d:	0f b6 c8             	movzbl %al,%ecx
140738130:	48 8b c3             	mov    %rbx,%rax
140738133:	4c 33 c1             	xor    %rcx,%r8
140738136:	48 c1 e8 10          	shr    $0x10,%rax
14073813a:	4d 0f af c5          	imul   %r13,%r8
14073813e:	0f b6 c8             	movzbl %al,%ecx
140738141:	48 8b c3             	mov    %rbx,%rax
140738144:	4c 33 c1             	xor    %rcx,%r8
140738147:	48 c1 e8 18          	shr    $0x18,%rax
14073814b:	4d 0f af c5          	imul   %r13,%r8
14073814f:	0f b6 c8             	movzbl %al,%ecx
140738152:	48 8b c3             	mov    %rbx,%rax
140738155:	4c 33 c1             	xor    %rcx,%r8
140738158:	48 c1 e8 20          	shr    $0x20,%rax
14073815c:	4d 0f af c5          	imul   %r13,%r8
140738160:	0f b6 c8             	movzbl %al,%ecx
140738163:	48 8b c3             	mov    %rbx,%rax
140738166:	4c 33 c1             	xor    %rcx,%r8
140738169:	48 c1 e8 28          	shr    $0x28,%rax
14073816d:	4d 0f af c5          	imul   %r13,%r8
140738171:	0f b6 c8             	movzbl %al,%ecx
140738174:	48 8b c3             	mov    %rbx,%rax
140738177:	4c 33 c1             	xor    %rcx,%r8
14073817a:	48 c1 e8 30          	shr    $0x30,%rax
14073817e:	4d 0f af c5          	imul   %r13,%r8
140738182:	0f b6 c8             	movzbl %al,%ecx
140738185:	48 8b c3             	mov    %rbx,%rax
140738188:	4c 33 c1             	xor    %rcx,%r8
14073818b:	48 c1 e8 38          	shr    $0x38,%rax
14073818f:	4d 0f af c5          	imul   %r13,%r8
140738193:	4c 33 c0             	xor    %rax,%r8
140738196:	4d 0f af c5          	imul   %r13,%r8
14073819a:	4c 23 45 30          	and    0x30(%rbp),%r8
14073819e:	4d 8b d0             	mov    %r8,%r10
1407381a1:	4d 03 d2             	add    %r10,%r10
1407381a4:	4b 8b 4c d3 08       	mov    0x8(%r11,%r10,8),%rcx
1407381a9:	49 3b c9             	cmp    %r9,%rcx
1407381ac:	74 1b                	je     0x1407381c9
1407381ae:	4b 8b 04 d3          	mov    (%r11,%r10,8),%rax
1407381b2:	48 3b 59 10          	cmp    0x10(%rcx),%rbx
1407381b6:	74 13                	je     0x1407381cb
1407381b8:	48 3b c8             	cmp    %rax,%rcx
1407381bb:	74 0c                	je     0x1407381c9
1407381bd:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1407381c1:	48 3b 59 10          	cmp    0x10(%rcx),%rbx
1407381c5:	75 f1                	jne    0x1407381b8
1407381c7:	eb 02                	jmp    0x1407381cb
1407381c9:	33 c9                	xor    %ecx,%ecx
1407381cb:	48 85 c9             	test   %rcx,%rcx
1407381ce:	74 5b                	je     0x14073822b
1407381d0:	49 8b d0             	mov    %r8,%rdx
1407381d3:	4d 03 c0             	add    %r8,%r8
1407381d6:	48 03 d2             	add    %rdx,%rdx
1407381d9:	49 8b 04 d3          	mov    (%r11,%rdx,8),%rax
1407381dd:	4b 39 4c c3 08       	cmp    %rcx,0x8(%r11,%r8,8)
1407381e2:	75 1b                	jne    0x1407381ff
1407381e4:	48 3b c1             	cmp    %rcx,%rax
1407381e7:	75 0b                	jne    0x1407381f4
1407381e9:	4d 89 0c d3          	mov    %r9,(%r11,%rdx,8)
1407381ed:	4f 89 4c d3 08       	mov    %r9,0x8(%r11,%r10,8)
1407381f2:	eb 17                	jmp    0x14073820b
1407381f4:	4c 8b 49 08          	mov    0x8(%rcx),%r9
1407381f8:	4f 89 4c d3 08       	mov    %r9,0x8(%r11,%r10,8)
1407381fd:	eb 0c                	jmp    0x14073820b
1407381ff:	48 3b c1             	cmp    %rcx,%rax
140738202:	75 07                	jne    0x14073820b
140738204:	48 8b 01             	mov    (%rcx),%rax
140738207:	49 89 04 d3          	mov    %rax,(%r11,%rdx,8)
14073820b:	48 8b 11             	mov    (%rcx),%rdx
14073820e:	48 ff 4d 10          	decq   0x10(%rbp)
140738212:	48 8b 41 08          	mov    0x8(%rcx),%rax
140738216:	48 89 10             	mov    %rdx,(%rax)
140738219:	48 8b 41 08          	mov    0x8(%rcx),%rax
14073821d:	48 89 42 08          	mov    %rax,0x8(%rdx)
140738221:	ba 18 00 00 00       	mov    $0x18,%edx
140738226:	e8 19 2f 6e 00       	call   0x140e1b144
14073822b:	49 b9 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%r9
140738232:	9c f2 cb
140738235:	45 03 f7             	add    %r15d,%r14d
140738238:	48 83 c6 08          	add    $0x8,%rsi
14073823c:	49 3b f4             	cmp    %r12,%rsi
14073823f:	0f 85 9c fd ff ff    	jne    0x140737fe1
140738245:	4c 8b 7c 24 30       	mov    0x30(%rsp),%r15
14073824a:	4c 8b 6c 24 78       	mov    0x78(%rsp),%r13
14073824f:	48 8b 7c 24 70       	mov    0x70(%rsp),%rdi
140738254:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
140738259:	41 8b c6             	mov    %r14d,%eax
14073825c:	48 83 c4 38          	add    $0x38,%rsp
140738260:	41 5e                	pop    %r14
140738262:	41 5c                	pop    %r12
140738264:	5e                   	pop    %rsi
140738265:	5d                   	pop    %rbp
140738266:	c3                   	ret
140738267:	cc                   	int3
140738268:	cc                   	int3
140738269:	cc                   	int3
14073826a:	cc                   	int3
14073826b:	cc                   	int3
14073826c:	cc                   	int3
14073826d:	cc                   	int3
14073826e:	cc                   	int3
14073826f:	cc                   	int3
140738270:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140738275:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14073827a:	56                   	push   %rsi
14073827b:	57                   	push   %rdi
14073827c:	41 54                	push   %r12
14073827e:	41 56                	push   %r14
140738280:	41 57                	push   %r15
140738282:	48 83 ec 20          	sub    $0x20,%rsp
140738286:	4c 8b e2             	mov    %rdx,%r12
140738289:	4c 8b f9             	mov    %rcx,%r15
14073828c:	33 db                	xor    %ebx,%ebx
14073828e:	48 8b 41 40          	mov    0x40(%rcx),%rax
140738292:	48 8b 68 08          	mov    0x8(%rax),%rbp
140738296:	48 2b 28             	sub    (%rax),%rbp
140738299:	48 c1 fd 04          	sar    $0x4,%rbp
14073829d:	44 8b f5             	mov    %ebp,%r14d
1407382a0:	85 ed                	test   %ebp,%ebp
1407382a2:	0f 8e 8e 00 00 00    	jle    0x140738336