14072fde4:	48 83 f8 02          	cmp    $0x2,%rax
14072fde8:	0f 8c b3 00 00 00    	jl     0x14072fea1
14072fdee:	be 08 00 00 00       	mov    $0x8,%esi
14072fdf3:	49 8d 7d f8          	lea    -0x8(%r13),%rdi
14072fdf7:	48 2b f3             	sub    %rbx,%rsi
14072fdfa:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
14072fe00:	48 8b 07             	mov    (%rdi),%rax
14072fe03:	4c 8d 8c 24 88 00 00 	lea    0x88(%rsp),%r9
14072fe0a:	00
14072fe0b:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
14072fe12:	00
14072fe13:	4c 8b c7             	mov    %rdi,%r8
14072fe16:	48 8b 03             	mov    (%rbx),%rax
14072fe19:	4c 2b c3             	sub    %rbx,%r8
14072fe1c:	49 c1 f8 03          	sar    $0x3,%r8
14072fe20:	33 d2                	xor    %edx,%edx
14072fe22:	48 8b cb             	mov    %rbx,%rcx
14072fe25:	48 89 07             	mov    %rax,(%rdi)
14072fe28:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
14072fe2d:	e8 2e f6 ff ff       	call   0x14072f460
14072fe32:	48 83 ef 08          	sub    $0x8,%rdi
14072fe36:	48 8d 04 3e          	lea    (%rsi,%rdi,1),%rax
14072fe3a:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
14072fe3e:	48 83 f8 10          	cmp    $0x10,%rax
14072fe42:	7d bc                	jge    0x14072fe00
14072fe44:	48 83 c4 40          	add    $0x40,%rsp
14072fe48:	41 5f                	pop    %r15
14072fe4a:	41 5e                	pop    %r14
14072fe4c:	41 5d                	pop    %r13
14072fe4e:	5f                   	pop    %rdi
14072fe4f:	5e                   	pop    %rsi
14072fe50:	5d                   	pop    %rbp
14072fe51:	5b                   	pop    %rbx
14072fe52:	c3                   	ret
14072fe53:	48 8b 56 f8          	mov    -0x8(%rsi),%rdx
14072fe57:	48 8d 7e f8          	lea    -0x8(%rsi),%rdi
14072fe5b:	48 8b cd             	mov    %rbp,%rcx
14072fe5e:	49 8b c6             	mov    %r14,%rax
14072fe61:	ff 15 b9 3b 85 00    	call   *0x853bb9(%rip)        # 0x140f83a20
14072fe67:	84 c0                	test   %al,%al
14072fe69:	74 26                	je     0x14072fe91
14072fe6b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14072fe70:	48 8b 07             	mov    (%rdi),%rax
14072fe73:	48 8b cd             	mov    %rbp,%rcx
14072fe76:	49 89 07             	mov    %rax,(%r15)
14072fe79:	4c 8b ff             	mov    %rdi,%r15
14072fe7c:	48 8b 57 f8          	mov    -0x8(%rdi),%rdx
14072fe80:	48 83 ef 08          	sub    $0x8,%rdi
14072fe84:	49 8b c6             	mov    %r14,%rax
14072fe87:	ff 15 93 3b 85 00    	call   *0x853b93(%rip)        # 0x140f83a20
14072fe8d:	84 c0                	test   %al,%al
14072fe8f:	75 df                	jne    0x14072fe70
14072fe91:	49 89 2f             	mov    %rbp,(%r15)
14072fe94:	48 83 c6 08          	add    $0x8,%rsi
14072fe98:	49 3b f5             	cmp    %r13,%rsi
14072fe9b:	0f 85 ff fd ff ff    	jne    0x14072fca0
14072fea1:	48 83 c4 40          	add    $0x40,%rsp
14072fea5:	41 5f                	pop    %r15
14072fea7:	41 5e                	pop    %r14
14072fea9:	41 5d                	pop    %r13
14072feab:	5f                   	pop    %rdi
14072feac:	5e                   	pop    %rsi
14072fead:	5d                   	pop    %rbp
14072feae:	5b                   	pop    %rbx
14072feaf:	c3                   	ret
14072feb0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14072feb5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14072feba:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14072febf:	57                   	push   %rdi
14072fec0:	41 54                	push   %r12
14072fec2:	41 55                	push   %r13
14072fec4:	41 56                	push   %r14
14072fec6:	41 57                	push   %r15
14072fec8:	48 83 ec 30          	sub    $0x30,%rsp
14072fecc:	4d 8b e8             	mov    %r8,%r13
14072fecf:	4c 8b f2             	mov    %rdx,%r14
14072fed2:	48 8b f1             	mov    %rcx,%rsi
14072fed5:	45 0f b6 20          	movzbl (%r8),%r12d
14072fed9:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
14072fee0:	9c f2 cb
14072fee3:	4c 33 e0             	xor    %rax,%r12
14072fee6:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
14072feed:	01 00 00
14072fef0:	4c 0f af e1          	imul   %rcx,%r12
14072fef4:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
14072fef9:	4c 33 e0             	xor    %rax,%r12
14072fefc:	4c 0f af e1          	imul   %rcx,%r12
14072ff00:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
14072ff05:	4c 33 e0             	xor    %rax,%r12
14072ff08:	4c 0f af e1          	imul   %rcx,%r12
14072ff0c:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
14072ff11:	4c 33 e0             	xor    %rax,%r12
14072ff14:	4c 0f af e1          	imul   %rcx,%r12
14072ff18:	49 8b cc             	mov    %r12,%rcx
14072ff1b:	48 23 4e 30          	and    0x30(%rsi),%rcx
14072ff1f:	48 03 c9             	add    %rcx,%rcx
14072ff22:	48 8b 46 18          	mov    0x18(%rsi),%rax
14072ff26:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
14072ff2b:	48 8d 56 08          	lea    0x8(%rsi),%rdx
14072ff2f:	4c 8b 3a             	mov    (%rdx),%r15
14072ff32:	49 3b df             	cmp    %r15,%rbx
14072ff35:	75 08                	jne    0x14072ff3f
14072ff37:	49 8b df             	mov    %r15,%rbx
14072ff3a:	49 8b ef             	mov    %r15,%rbp
14072ff3d:	eb 4d                	jmp    0x14072ff8c
14072ff3f:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
14072ff43:	41 8b 00             	mov    (%r8),%eax
14072ff46:	3b 43 10             	cmp    0x10(%rbx),%eax
14072ff49:	74 13                	je     0x14072ff5e
14072ff4b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14072ff50:	48 3b d9             	cmp    %rcx,%rbx
14072ff53:	74 31                	je     0x14072ff86
14072ff55:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
14072ff59:	3b 43 10             	cmp    0x10(%rbx),%eax
14072ff5c:	75 f2                	jne    0x14072ff50
14072ff5e:	49 89 1e             	mov    %rbx,(%r14)
14072ff61:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
14072ff66:	49 8b c6             	mov    %r14,%rax
14072ff69:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14072ff6e:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
14072ff73:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
14072ff78:	48 83 c4 30          	add    $0x30,%rsp
14072ff7c:	41 5f                	pop    %r15
14072ff7e:	41 5e                	pop    %r14
14072ff80:	41 5d                	pop    %r13
14072ff82:	41 5c                	pop    %r12
14072ff84:	5f                   	pop    %rdi
14072ff85:	c3                   	ret
14072ff86:	4c 8b fb             	mov    %rbx,%r15
14072ff89:	48 8b eb             	mov    %rbx,%rbp
14072ff8c:	48 b8 ff ff ff ff ff 	movabs $0x7ffffffffffffff,%rax
14072ff93:	ff ff 07
14072ff96:	48 39 46 10          	cmp    %rax,0x10(%rsi)
14072ff9a:	0f 84 38 01 00 00    	je     0x1407300d8
14072ffa0:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
14072ffa5:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14072ffac:	00 00
14072ffae:	b9 20 00 00 00       	mov    $0x20,%ecx
14072ffb3:	e8 50 b1 6e 00       	call   0x140e1b108
14072ffb8:	48 8b f8             	mov    %rax,%rdi
14072ffbb:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14072ffc0:	41 8b 4d 00          	mov    0x0(%r13),%ecx
14072ffc4:	89 48 10             	mov    %ecx,0x10(%rax)
14072ffc7:	45 33 ed             	xor    %r13d,%r13d
14072ffca:	4c 89 68 18          	mov    %r13,0x18(%rax)
14072ffce:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
14072ffd2:	48 83 c1 01          	add    $0x1,%rcx
14072ffd6:	0f 57 c0             	xorps  %xmm0,%xmm0
14072ffd9:	78 07                	js     0x14072ffe2
14072ffdb:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
14072ffe0:	eb 15                	jmp    0x14072fff7
14072ffe2:	48 8b c1             	mov    %rcx,%rax
14072ffe5:	48 d1 e8             	shr    $1,%rax
14072ffe8:	83 e1 01             	and    $0x1,%ecx
14072ffeb:	48 0b c1             	or     %rcx,%rax
14072ffee:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
14072fff3:	f3 0f 58 c0          	addss  %xmm0,%xmm0
14072fff7:	48 8b 4e 38          	mov    0x38(%rsi),%rcx
14072fffb:	0f 57 c9             	xorps  %xmm1,%xmm1
14072fffe:	48 85 c9             	test   %rcx,%rcx
140730001:	78 07                	js     0x14073000a
140730003:	f3 48 0f 2a c9       	cvtsi2ss %rcx,%xmm1
140730008:	eb 15                	jmp    0x14073001f
14073000a:	48 8b c1             	mov    %rcx,%rax
14073000d:	48 d1 e8             	shr    $1,%rax
140730010:	83 e1 01             	and    $0x1,%ecx
140730013:	48 0b c1             	or     %rcx,%rax
140730016:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
14073001b:	f3 0f 58 c9          	addss  %xmm1,%xmm1
14073001f:	f3 0f 5e c1          	divss  %xmm1,%xmm0
140730023:	0f 2f 06             	comiss (%rsi),%xmm0
140730026:	76 51                	jbe    0x140730079
140730028:	48 8b ce             	mov    %rsi,%rcx
14073002b:	e8 60 3c 01 00       	call   0x140743c90
140730030:	48 8b 4e 30          	mov    0x30(%rsi),%rcx
140730034:	49 23 cc             	and    %r12,%rcx
140730037:	48 03 c9             	add    %rcx,%rcx
14073003a:	48 8b 56 18          	mov    0x18(%rsi),%rdx
14073003e:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
140730043:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
140730047:	48 3b c3             	cmp    %rbx,%rax
14073004a:	74 20                	je     0x14073006c
14073004c:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
140730050:	8b 4f 10             	mov    0x10(%rdi),%ecx
140730053:	3b 48 10             	cmp    0x10(%rax),%ecx
140730056:	74 11                	je     0x140730069
140730058:	48 8b d8             	mov    %rax,%rbx
14073005b:	48 3b c2             	cmp    %rdx,%rax
14073005e:	74 4d                	je     0x1407300ad
140730060:	48 8b 40 08          	mov    0x8(%rax),%rax
140730064:	3b 48 10             	cmp    0x10(%rax),%ecx
140730067:	75 ef                	jne    0x140730058
140730069:	48 8b 18             	mov    (%rax),%rbx
14073006c:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140730071:	48 8b eb             	mov    %rbx,%rbp
140730074:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
140730079:	48 8b 53 08          	mov    0x8(%rbx),%rdx
14073007d:	48 ff 46 10          	incq   0x10(%rsi)
140730081:	4c 89 3f             	mov    %r15,(%rdi)
140730084:	48 89 57 08          	mov    %rdx,0x8(%rdi)
140730088:	48 89 3a             	mov    %rdi,(%rdx)
14073008b:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
14073008f:	48 8b 4e 18          	mov    0x18(%rsi),%rcx
140730093:	48 8b 46 30          	mov    0x30(%rsi),%rax
140730097:	49 23 c4             	and    %r12,%rax
14073009a:	48 03 c0             	add    %rax,%rax
14073009d:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
1407300a1:	4c 3b 46 08          	cmp    0x8(%rsi),%r8
1407300a5:	75 0d                	jne    0x1407300b4
1407300a7:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
1407300ab:	eb 19                	jmp    0x1407300c6
1407300ad:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1407300b2:	eb bd                	jmp    0x140730071
1407300b4:	4c 3b c5             	cmp    %rbp,%r8
1407300b7:	75 06                	jne    0x1407300bf
1407300b9:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
1407300bd:	eb 0c                	jmp    0x1407300cb
1407300bf:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
1407300c4:	75 05                	jne    0x1407300cb
1407300c6:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
1407300cb:	49 89 3e             	mov    %rdi,(%r14)
1407300ce:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
1407300d3:	e9 8e fe ff ff       	jmp    0x14072ff66
1407300d8:	48 8d 0d c1 e3 87 00 	lea    0x87e3c1(%rip),%rcx        # 0x140fae4a0
1407300df:	e8 d0 b2 6c 00       	call   0x140dfb3b4
1407300e4:	cc                   	int3
1407300e5:	cc                   	int3
1407300e6:	cc                   	int3
1407300e7:	cc                   	int3
1407300e8:	cc                   	int3
1407300e9:	cc                   	int3
1407300ea:	cc                   	int3
1407300eb:	cc                   	int3
1407300ec:	cc                   	int3
1407300ed:	cc                   	int3
1407300ee:	cc                   	int3
1407300ef:	cc                   	int3
1407300f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1407300f5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1407300fa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1407300ff:	57                   	push   %rdi
140730100:	41 54                	push   %r12
140730102:	41 55                	push   %r13
140730104:	41 56                	push   %r14
140730106:	41 57                	push   %r15
140730108:	48 83 ec 30          	sub    $0x30,%rsp
14073010c:	49 8b e8             	mov    %r8,%rbp
14073010f:	4c 8b fa             	mov    %rdx,%r15
140730112:	4c 8b f1             	mov    %rcx,%r14
140730115:	41 0f b6 30          	movzbl (%r8),%esi
140730119:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
140730120:	9c f2 cb
140730123:	48 33 f0             	xor    %rax,%rsi
140730126:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
14073012d:	01 00 00
140730130:	48 0f af f1          	imul   %rcx,%rsi
140730134:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
140730139:	48 33 f0             	xor    %rax,%rsi
14073013c:	48 0f af f1          	imul   %rcx,%rsi
140730140:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
140730145:	48 33 f0             	xor    %rax,%rsi
140730148:	48 0f af f1          	imul   %rcx,%rsi
14073014c:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
140730151:	48 33 f0             	xor    %rax,%rsi
140730154:	48 0f af f1          	imul   %rcx,%rsi
140730158:	41 0f b6 40 04       	movzbl 0x4(%r8),%eax
14073015d:	48 33 f0             	xor    %rax,%rsi
140730160:	48 0f af f1          	imul   %rcx,%rsi
140730164:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
140730169:	48 33 f0             	xor    %rax,%rsi
14073016c:	48 0f af f1          	imul   %rcx,%rsi
140730170:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
140730175:	48 33 f0             	xor    %rax,%rsi
140730178:	48 0f af f1          	imul   %rcx,%rsi
14073017c:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax
140730181:	48 33 f0             	xor    %rax,%rsi
140730184:	48 0f af f1          	imul   %rcx,%rsi
140730188:	48 8b ce             	mov    %rsi,%rcx
14073018b:	49 23 4e 30          	and    0x30(%r14),%rcx
14073018f:	48 03 c9             	add    %rcx,%rcx
140730192:	49 8b 46 18          	mov    0x18(%r14),%rax
140730196:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
14073019b:	49 8d 56 08          	lea    0x8(%r14),%rdx
14073019f:	4c 8b 2a             	mov    (%rdx),%r13
1407301a2:	49 3b dd             	cmp    %r13,%rbx
1407301a5:	75 08                	jne    0x1407301af
1407301a7:	49 8b dd             	mov    %r13,%rbx
1407301aa:	4d 8b e5             	mov    %r13,%r12
1407301ad:	eb 4e                	jmp    0x1407301fd
1407301af:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
1407301b3:	49 8b 00             	mov    (%r8),%rax
1407301b6:	48 3b 43 10          	cmp    0x10(%rbx),%rax
1407301ba:	74 13                	je     0x1407301cf
1407301bc:	0f 1f 40 00          	nopl   0x0(%rax)
1407301c0:	48 3b d9             	cmp    %rcx,%rbx
1407301c3:	74 32                	je     0x1407301f7
1407301c5:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
1407301c9:	48 3b 43 10          	cmp    0x10(%rbx),%rax
1407301cd:	75 f1                	jne    0x1407301c0
1407301cf:	49 89 1f             	mov    %rbx,(%r15)
1407301d2:	41 c6 47 08 00       	movb   $0x0,0x8(%r15)
1407301d7:	49 8b c7             	mov    %r15,%rax
1407301da:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1407301df:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
1407301e4:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
1407301e9:	48 83 c4 30          	add    $0x30,%rsp
1407301ed:	41 5f                	pop    %r15
1407301ef:	41 5e                	pop    %r14
1407301f1:	41 5d                	pop    %r13
1407301f3:	41 5c                	pop    %r12
1407301f5:	5f                   	pop    %rdi
1407301f6:	c3                   	ret
1407301f7:	4c 8b eb             	mov    %rbx,%r13
1407301fa:	4c 8b e3             	mov    %rbx,%r12
1407301fd:	48 b8 55 55 55 55 55 	movabs $0x555555555555555,%rax
140730204:	55 55 05
140730207:	49 39 46 10          	cmp    %rax,0x10(%r14)
14073020b:	0f 84 c6 01 00 00    	je     0x1407303d7
140730211:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140730216:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14073021d:	00 00
14073021f:	b9 30 00 00 00       	mov    $0x30,%ecx
140730224:	e8 df ae 6e 00       	call   0x140e1b108
140730229:	48 8b f8             	mov    %rax,%rdi
14073022c:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140730231:	48 8b 4d 00          	mov    0x0(%rbp),%rcx
140730235:	48 89 48 10          	mov    %rcx,0x10(%rax)
140730239:	33 c0                	xor    %eax,%eax
14073023b:	48 89 47 18          	mov    %rax,0x18(%rdi)
14073023f:	48 89 47 20          	mov    %rax,0x20(%rdi)
140730243:	48 89 47 28          	mov    %rax,0x28(%rdi)
140730247:	49 8b 4e 10          	mov    0x10(%r14),%rcx
14073024b:	48 83 c1 01          	add    $0x1,%rcx
14073024f:	0f 57 c0             	xorps  %xmm0,%xmm0
140730252:	78 07                	js     0x14073025b
140730254:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140730259:	eb 15                	jmp    0x140730270
14073025b:	48 8b c1             	mov    %rcx,%rax
14073025e:	48 d1 e8             	shr    $1,%rax
140730261:	83 e1 01             	and    $0x1,%ecx
140730264:	48 0b c1             	or     %rcx,%rax
140730267:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
14073026c:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140730270:	49 8b 6e 38          	mov    0x38(%r14),%rbp
140730274:	f3 41 0f 10 1e       	movss  (%r14),%xmm3
140730279:	0f 57 d2             	xorps  %xmm2,%xmm2
14073027c:	48 85 ed             	test   %rbp,%rbp
14073027f:	78 07                	js     0x140730288
140730281:	f3 48 0f 2a d5       	cvtsi2ss %rbp,%xmm2
140730286:	eb 18                	jmp    0x1407302a0