140077fab:	57                   	push   %rdi
140077fac:	41 54                	push   %r12
140077fae:	41 55                	push   %r13
140077fb0:	41 56                	push   %r14
140077fb2:	41 57                	push   %r15
140077fb4:	48 83 ec 20          	sub    $0x20,%rsp
140077fb8:	48 8b 51 10          	mov    0x10(%rcx),%rdx
140077fbc:	bf 01 00 00 00       	mov    $0x1,%edi
140077fc1:	48 03 d7             	add    %rdi,%rdx
140077fc4:	48 8b 59 38          	mov    0x38(%rcx),%rbx
140077fc8:	4c 8b e9             	mov    %rcx,%r13
140077fcb:	0f 57 c0             	xorps  %xmm0,%xmm0
140077fce:	78 07                	js     0x140077fd7
140077fd0:	f3 48 0f 2a c2       	cvtsi2ss %rdx,%xmm0
140077fd5:	eb 15                	jmp    0x140077fec
140077fd7:	48 8b c2             	mov    %rdx,%rax
140077fda:	48 23 d7             	and    %rdi,%rdx
140077fdd:	48 d1 e8             	shr    $1,%rax
140077fe0:	48 0b c2             	or     %rdx,%rax
140077fe3:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140077fe8:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140077fec:	f3 0f 5e 01          	divss  (%rcx),%xmm0
140077ff0:	e8 99 ea 18 00       	call   0x140206a8e
140077ff5:	f3 0f 10 0d c3 80 24 	movss  0x2480c3(%rip),%xmm1        # 0x1402c00c0
140077ffc:	00
140077ffd:	33 c9                	xor    %ecx,%ecx
140077fff:	0f 2f c1             	comiss %xmm1,%xmm0
140078002:	72 16                	jb     0x14007801a
140078004:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140078008:	0f 2f c1             	comiss %xmm1,%xmm0
14007800b:	73 0d                	jae    0x14007801a
14007800d:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140078014:	00 00 80
140078017:	48 8b c8             	mov    %rax,%rcx
14007801a:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
14007801f:	48 03 c1             	add    %rcx,%rax
140078022:	b9 08 00 00 00       	mov    $0x8,%ecx
140078027:	48 3b c1             	cmp    %rcx,%rax
14007802a:	48 0f 47 c8          	cmova  %rax,%rcx
14007802e:	48 3b d9             	cmp    %rcx,%rbx
140078031:	73 15                	jae    0x140078048
140078033:	48 81 fb 00 02 00 00 	cmp    $0x200,%rbx
14007803a:	73 09                	jae    0x140078045
14007803c:	48 c1 e3 03          	shl    $0x3,%rbx
140078040:	48 3b d9             	cmp    %rcx,%rbx
140078043:	73 03                	jae    0x140078048
140078045:	48 8b d9             	mov    %rcx,%rbx
140078048:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
14007804f:	ff ff 0f
140078052:	48 0f bd c8          	bsr    %rax,%rcx
140078056:	48 8b c7             	mov    %rdi,%rax
140078059:	48 d3 e0             	shl    %cl,%rax
14007805c:	48 3b d8             	cmp    %rax,%rbx
14007805f:	76 0e                	jbe    0x14007806f
140078061:	48 8d 0d 68 01 1d 00 	lea    0x1d0168(%rip),%rcx        # 0x1402481d0
140078068:	ff 15 ba a6 19 00    	call   *0x19a6ba(%rip)        # 0x140212728
14007806e:	cc                   	int3
14007806f:	49 8b 6d 08          	mov    0x8(%r13),%rbp
140078073:	48 8d 43 ff          	lea    -0x1(%rbx),%rax
140078077:	48 0b c7             	or     %rdi,%rax
14007807a:	49 8d 75 18          	lea    0x18(%r13),%rsi
14007807e:	48 0f bd c8          	bsr    %rax,%rcx
140078082:	4c 8b c5             	mov    %rbp,%r8
140078085:	ff c1                	inc    %ecx
140078087:	48 d3 e7             	shl    %cl,%rdi
14007808a:	48 8b ce             	mov    %rsi,%rcx
14007808d:	48 8d 14 3f          	lea    (%rdi,%rdi,1),%rdx
140078091:	e8 ae 57 f9 ff       	call   0x14000d844
140078096:	49 89 7d 38          	mov    %rdi,0x38(%r13)
14007809a:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
14007809e:	49 89 45 30          	mov    %rax,0x30(%r13)
1400780a2:	49 8b 5d 08          	mov    0x8(%r13),%rbx
1400780a6:	48 8b 1b             	mov    (%rbx),%rbx
1400780a9:	48 8b fb             	mov    %rbx,%rdi
1400780ac:	48 3b dd             	cmp    %rbp,%rbx
1400780af:	0f 84 15 01 00 00    	je     0x1400781ca
1400780b5:	48 8b 3f             	mov    (%rdi),%rdi
1400780b8:	4c 8d 7b 10          	lea    0x10(%rbx),%r15
1400780bc:	49 83 7f 18 07       	cmpq   $0x7,0x18(%r15)
1400780c1:	49 8b cf             	mov    %r15,%rcx
1400780c4:	76 03                	jbe    0x1400780c9
1400780c6:	49 8b 0f             	mov    (%r15),%rcx
1400780c9:	49 8b 57 10          	mov    0x10(%r15),%rdx
1400780cd:	e8 a2 06 00 00       	call   0x140078774
1400780d2:	4c 8b 26             	mov    (%rsi),%r12
1400780d5:	4c 8b f0             	mov    %rax,%r14
1400780d8:	4d 23 75 30          	and    0x30(%r13),%r14
1400780dc:	4d 03 f6             	add    %r14,%r14
1400780df:	4b 39 2c f4          	cmp    %rbp,(%r12,%r14,8)
1400780e3:	75 0e                	jne    0x1400780f3
1400780e5:	4b 89 1c f4          	mov    %rbx,(%r12,%r14,8)
1400780e9:	4b 89 5c f4 08       	mov    %rbx,0x8(%r12,%r14,8)
1400780ee:	e9 cb 00 00 00       	jmp    0x1400781be
1400780f3:	4b 8b 74 f4 08       	mov    0x8(%r12,%r14,8),%rsi
1400780f8:	48 8d 56 10          	lea    0x10(%rsi),%rdx
1400780fc:	48 83 7a 18 07       	cmpq   $0x7,0x18(%rdx)
140078101:	48 8b 42 10          	mov    0x10(%rdx),%rax
140078105:	76 03                	jbe    0x14007810a
140078107:	48 8b 12             	mov    (%rdx),%rdx
14007810a:	49 83 7f 18 07       	cmpq   $0x7,0x18(%r15)
14007810f:	49 8b cf             	mov    %r15,%rcx
140078112:	76 03                	jbe    0x140078117
140078114:	49 8b 0f             	mov    (%r15),%rcx
140078117:	49 39 47 10          	cmp    %rax,0x10(%r15)
14007811b:	75 72                	jne    0x14007818f
14007811d:	4d 8b 47 10          	mov    0x10(%r15),%r8
140078121:	e8 a6 0a f9 ff       	call   0x140008bcc
140078126:	85 c0                	test   %eax,%eax
140078128:	75 65                	jne    0x14007818f
14007812a:	4c 8b 06             	mov    (%rsi),%r8
14007812d:	4c 3b c3             	cmp    %rbx,%r8
140078130:	74 21                	je     0x140078153
140078132:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140078136:	48 89 3a             	mov    %rdi,(%rdx)
140078139:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
14007813d:	4c 89 01             	mov    %r8,(%rcx)
140078140:	49 8b 40 08          	mov    0x8(%r8),%rax
140078144:	48 89 18             	mov    %rbx,(%rax)
140078147:	49 89 48 08          	mov    %rcx,0x8(%r8)
14007814b:	48 89 57 08          	mov    %rdx,0x8(%rdi)
14007814f:	48 89 43 08          	mov    %rax,0x8(%rbx)
140078153:	4b 89 5c f4 08       	mov    %rbx,0x8(%r12,%r14,8)
140078158:	eb 60                	jmp    0x1400781ba
14007815a:	48 8b 76 08          	mov    0x8(%rsi),%rsi
14007815e:	48 8d 56 10          	lea    0x10(%rsi),%rdx
140078162:	48 83 7a 18 07       	cmpq   $0x7,0x18(%rdx)
140078167:	48 8b 42 10          	mov    0x10(%rdx),%rax
14007816b:	76 03                	jbe    0x140078170
14007816d:	48 8b 12             	mov    (%rdx),%rdx
140078170:	49 83 7f 18 07       	cmpq   $0x7,0x18(%r15)
140078175:	49 8b cf             	mov    %r15,%rcx
140078178:	4d 8b 47 10          	mov    0x10(%r15),%r8
14007817c:	76 03                	jbe    0x140078181
14007817e:	49 8b 0f             	mov    (%r15),%rcx
140078181:	4c 3b c0             	cmp    %rax,%r8
140078184:	75 09                	jne    0x14007818f
140078186:	e8 41 0a f9 ff       	call   0x140008bcc
14007818b:	85 c0                	test   %eax,%eax
14007818d:	74 58                	je     0x1400781e7
14007818f:	4b 39 34 f4          	cmp    %rsi,(%r12,%r14,8)
140078193:	75 c5                	jne    0x14007815a
140078195:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140078199:	48 89 3a             	mov    %rdi,(%rdx)
14007819c:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1400781a0:	48 89 31             	mov    %rsi,(%rcx)
1400781a3:	48 8b 46 08          	mov    0x8(%rsi),%rax
1400781a7:	48 89 18             	mov    %rbx,(%rax)
1400781aa:	48 89 4e 08          	mov    %rcx,0x8(%rsi)
1400781ae:	48 89 57 08          	mov    %rdx,0x8(%rdi)
1400781b2:	48 89 43 08          	mov    %rax,0x8(%rbx)
1400781b6:	4b 89 1c f4          	mov    %rbx,(%r12,%r14,8)
1400781ba:	49 8d 75 18          	lea    0x18(%r13),%rsi
1400781be:	48 8b df             	mov    %rdi,%rbx
1400781c1:	48 3b fd             	cmp    %rbp,%rdi
1400781c4:	0f 85 eb fe ff ff    	jne    0x1400780b5
1400781ca:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
1400781cf:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
1400781d4:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
1400781d9:	48 83 c4 20          	add    $0x20,%rsp
1400781dd:	41 5f                	pop    %r15
1400781df:	41 5e                	pop    %r14
1400781e1:	41 5d                	pop    %r13
1400781e3:	41 5c                	pop    %r12
1400781e5:	5f                   	pop    %rdi
1400781e6:	c3                   	ret
1400781e7:	4c 8b 06             	mov    (%rsi),%r8
1400781ea:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1400781ee:	48 89 3a             	mov    %rdi,(%rdx)
1400781f1:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1400781f5:	4c 89 01             	mov    %r8,(%rcx)
1400781f8:	49 8b 40 08          	mov    0x8(%r8),%rax
1400781fc:	48 89 18             	mov    %rbx,(%rax)
1400781ff:	49 89 48 08          	mov    %rcx,0x8(%r8)
140078203:	48 89 57 08          	mov    %rdx,0x8(%rdi)
140078207:	48 89 43 08          	mov    %rax,0x8(%rbx)
14007820b:	eb ad                	jmp    0x1400781ba
14007820d:	cc                   	int3
14007820e:	90                   	nop
14007820f:	90                   	nop
140078210:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140078215:	53                   	push   %rbx
140078216:	56                   	push   %rsi
140078217:	57                   	push   %rdi
140078218:	41 54                	push   %r12
14007821a:	41 55                	push   %r13
14007821c:	41 56                	push   %r14
14007821e:	41 57                	push   %r15
140078220:	48 83 ec 30          	sub    $0x30,%rsp
140078224:	4c 8b e2             	mov    %rdx,%r12
140078227:	48 8b f1             	mov    %rcx,%rsi
14007822a:	4c 8b f2             	mov    %rdx,%r14
14007822d:	4c 2b 31             	sub    (%rcx),%r14
140078230:	48 8b 41 08          	mov    0x8(%rcx),%rax
140078234:	48 2b 01             	sub    (%rcx),%rax
140078237:	48 c1 f8 06          	sar    $0x6,%rax
14007823b:	49 b9 ff ff ff ff ff 	movabs $0x3ffffffffffffff,%r9
140078242:	ff ff 03
140078245:	49 3b c1             	cmp    %r9,%rax
140078248:	0f 84 64 01 00 00    	je     0x1400783b2
14007824e:	4c 8d 78 01          	lea    0x1(%rax),%r15
140078252:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140078256:	48 2b 0e             	sub    (%rsi),%rcx
140078259:	48 c1 f9 06          	sar    $0x6,%rcx
14007825d:	48 8b d1             	mov    %rcx,%rdx
140078260:	48 d1 ea             	shr    $1,%rdx
140078263:	49 8b c1             	mov    %r9,%rax
140078266:	48 2b c2             	sub    %rdx,%rax
140078269:	48 3b c8             	cmp    %rax,%rcx
14007826c:	76 05                	jbe    0x140078273
14007826e:	49 8b f9             	mov    %r9,%rdi
140078271:	eb 0b                	jmp    0x14007827e
140078273:	48 8d 3c 0a          	lea    (%rdx,%rcx,1),%rdi
140078277:	49 3b ff             	cmp    %r15,%rdi
14007827a:	49 0f 42 ff          	cmovb  %r15,%rdi
14007827e:	48 89 bc 24 88 00 00 	mov    %rdi,0x88(%rsp)
140078285:	00
140078286:	49 3b f9             	cmp    %r9,%rdi
140078289:	0f 87 29 01 00 00    	ja     0x1400783b8
14007828f:	48 8b cf             	mov    %rdi,%rcx
140078292:	48 c1 e1 06          	shl    $0x6,%rcx
140078296:	33 d2                	xor    %edx,%edx
140078298:	48 85 c9             	test   %rcx,%rcx
14007829b:	75 09                	jne    0x1400782a6
14007829d:	8b da                	mov    %edx,%ebx
14007829f:	48 89 54 24 70       	mov    %rdx,0x70(%rsp)
1400782a4:	eb 27                	jmp    0x1400782cd
1400782a6:	0f ae e8             	lfence
1400782a9:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
1400782b0:	0f 82 e1 00 00 00    	jb     0x140078397
1400782b6:	e8 99 d5 f8 ff       	call   0x140005854
1400782bb:	48 8b d8             	mov    %rax,%rbx
1400782be:	33 d2                	xor    %edx,%edx
1400782c0:	4c 8b 84 24 80 00 00 	mov    0x80(%rsp),%r8
1400782c7:	00
1400782c8:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
1400782cd:	49 83 e6 c0          	and    $0xffffffffffffffc0,%r14
1400782d1:	4c 03 f3             	add    %rbx,%r14
1400782d4:	4d 8d 6e 40          	lea    0x40(%r14),%r13
1400782d8:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
1400782dd:	0f 57 c0             	xorps  %xmm0,%xmm0
1400782e0:	41 0f 11 06          	movups %xmm0,(%r14)
1400782e4:	49 89 56 10          	mov    %rdx,0x10(%r14)
1400782e8:	49 89 56 18          	mov    %rdx,0x18(%r14)
1400782ec:	41 0f 10 00          	movups (%r8),%xmm0
1400782f0:	41 0f 11 06          	movups %xmm0,(%r14)
1400782f4:	41 0f 10 48 10       	movups 0x10(%r8),%xmm1
1400782f9:	41 0f 11 4e 10       	movups %xmm1,0x10(%r14)
1400782fe:	b8 07 00 00 00       	mov    $0x7,%eax
140078303:	49 89 40 18          	mov    %rax,0x18(%r8)
140078307:	49 89 50 10          	mov    %rdx,0x10(%r8)
14007830b:	66 41 89 10          	mov    %dx,(%r8)
14007830f:	0f 57 c0             	xorps  %xmm0,%xmm0
140078312:	41 0f 11 46 20       	movups %xmm0,0x20(%r14)
140078317:	49 89 56 30          	mov    %rdx,0x30(%r14)
14007831b:	49 89 56 38          	mov    %rdx,0x38(%r14)
14007831f:	41 0f 10 40 20       	movups 0x20(%r8),%xmm0
140078324:	41 0f 11 46 20       	movups %xmm0,0x20(%r14)
140078329:	41 0f 10 48 30       	movups 0x30(%r8),%xmm1
14007832e:	41 0f 11 4e 30       	movups %xmm1,0x30(%r14)
140078333:	49 89 50 30          	mov    %rdx,0x30(%r8)
140078337:	49 89 40 38          	mov    %rax,0x38(%r8)
14007833b:	66 41 89 50 20       	mov    %dx,0x20(%r8)
140078340:	4c 89 74 24 78       	mov    %r14,0x78(%rsp)
140078345:	4c 8b c3             	mov    %rbx,%r8
140078348:	4c 3b 66 08          	cmp    0x8(%rsi),%r12
14007834c:	0f ae e8             	lfence
14007834f:	48 8b 0e             	mov    (%rsi),%rcx
140078352:	74 13                	je     0x140078367
140078354:	49 8b d4             	mov    %r12,%rdx
140078357:	e8 98 92 f9 ff       	call   0x1400115f4
14007835c:	48 89 5c 24 78       	mov    %rbx,0x78(%rsp)
140078361:	4d 8b c5             	mov    %r13,%r8
140078364:	49 8b cc             	mov    %r12,%rcx
140078367:	48 8b 56 08          	mov    0x8(%rsi),%rdx
14007836b:	e8 84 92 f9 ff       	call   0x1400115f4
140078370:	0f ae e8             	lfence
140078373:	4c 8b cf             	mov    %rdi,%r9
140078376:	4d 8b c7             	mov    %r15,%r8
140078379:	48 8b d3             	mov    %rbx,%rdx
14007837c:	48 8b ce             	mov    %rsi,%rcx
14007837f:	e8 30 83 f9 ff       	call   0x1400106b4
140078384:	49 8b c6             	mov    %r14,%rax
140078387:	48 83 c4 30          	add    $0x30,%rsp
14007838b:	41 5f                	pop    %r15
14007838d:	41 5e                	pop    %r14
14007838f:	41 5d                	pop    %r13
140078391:	41 5c                	pop    %r12
140078393:	5f                   	pop    %rdi
140078394:	5e                   	pop    %rsi
140078395:	5b                   	pop    %rbx
140078396:	c3                   	ret
140078397:	ff 15 b3 a7 19 00    	call   *0x19a7b3(%rip)        # 0x140212b50
14007839d:	48 8b d8             	mov    %rax,%rbx
1400783a0:	33 d2                	xor    %edx,%edx
1400783a2:	48 85 c0             	test   %rax,%rax
1400783a5:	0f 85 15 ff ff ff    	jne    0x1400782c0
1400783ab:	ff 15 7f a7 19 00    	call   *0x19a77f(%rip)        # 0x140212b30
1400783b1:	cc                   	int3
1400783b2:	e8 e9 c2 f8 ff       	call   0x1400046a0
1400783b7:	cc                   	int3
1400783b8:	e8 af d5 f8 ff       	call   0x14000596c
1400783bd:	cc                   	int3
1400783be:	90                   	nop
1400783bf:	90                   	nop
1400783c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400783c5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1400783ca:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1400783cf:	57                   	push   %rdi
1400783d0:	48 83 ec 20          	sub    $0x20,%rsp
1400783d4:	48 8b 41 30          	mov    0x30(%rcx),%rax
1400783d8:	49 8b f0             	mov    %r8,%rsi
1400783db:	4c 8b 41 18          	mov    0x18(%rcx),%r8
1400783df:	49 23 c1             	and    %r9,%rax
1400783e2:	48 03 c0             	add    %rax,%rax
1400783e5:	48 8b da             	mov    %rdx,%rbx
1400783e8:	48 8b 51 08          	mov    0x8(%rcx),%rdx
1400783ec:	49 8b 7c c0 08       	mov    0x8(%r8,%rax,8),%rdi
1400783f1:	48 3b fa             	cmp    %rdx,%rdi
1400783f4:	75 05                	jne    0x1400783fb
1400783f6:	48 89 13             	mov    %rdx,(%rbx)
1400783f9:	eb 4f                	jmp    0x14007844a
1400783fb:	49 8b 2c c0          	mov    (%r8,%rax,8),%rbp
1400783ff:	48 8d 57 10          	lea    0x10(%rdi),%rdx
140078403:	48 83 7a 18 07       	cmpq   $0x7,0x18(%rdx)
140078408:	48 8b 42 10          	mov    0x10(%rdx),%rax
14007840c:	76 03                	jbe    0x140078411
14007840e:	48 8b 12             	mov    (%rdx),%rdx
140078411:	48 83 7e 18 07       	cmpq   $0x7,0x18(%rsi)
140078416:	48 8b ce             	mov    %rsi,%rcx
140078419:	4c 8b 46 10          	mov    0x10(%rsi),%r8
14007841d:	76 03                	jbe    0x140078422
14007841f:	48 8b 0e             	mov    (%rsi),%rcx
140078422:	4c 3b c0             	cmp    %rax,%r8
140078425:	75 09                	jne    0x140078430
140078427:	e8 a0 07 f9 ff       	call   0x140008bcc
14007842c:	85 c0                	test   %eax,%eax
14007842e:	74 0b                	je     0x14007843b
140078430:	48 3b fd             	cmp    %rbp,%rdi
140078433:	74 12                	je     0x140078447
140078435:	48 8b 7f 08          	mov    0x8(%rdi),%rdi
140078439:	eb c4                	jmp    0x1400783ff
14007843b:	48 8b 07             	mov    (%rdi),%rax
14007843e:	48 89 03             	mov    %rax,(%rbx)
140078441:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
140078445:	eb 08                	jmp    0x14007844f
140078447:	48 89 3b             	mov    %rdi,(%rbx)
14007844a:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
14007844f:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140078454:	48 8b c3             	mov    %rbx,%rax
140078457:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx